首頁 系統教程 Linux latest 標籤在Docker 中的作用是什麼?

latest 標籤在Docker 中的作用是什麼?

Mar 05, 2024 am 09:52 AM
linux linux教程 紅帽 linux系統 linux指令 linux認證 紅帽linux linux視頻

在Docker中,最容易產生誤解的部分應該就是latest這個標籤。困惑主要是由於這個名字造成的,因為字面意思並不能表達它的真正含義。在本文中,我們來學習下latest標籤的真正作用和如何正確使用它。

latest 标签在Docker 中的作用是什么?

#通常有兩種方式來對映像打標籤:使用docker tag指令或是在執行docker build的時候用-t來傳遞參數。在這兩種情況下,參數的形式通常是repository_name:tag_name,例如:docker tag myrepo:mytag。如果這個資源庫被上傳到了Docker Hub,資源庫的名字會加上一個由Docker Hub使用者名稱和斜線組成的前綴,例如:amouat/myrepo:mytag。如果沒有加入tag部分的參數,例如:docker tag myrepo:1.0 myrepo,Docker會自動的給它latest標籤。前面這些內容或許你已經熟知,其實它也就這點內容,並沒有什麼神奇的地方。

不能因為鏡像的標籤是latest就認為這是資源庫中最新的鏡像。只有這個資源庫的擁有者約定這樣,擁有latest標籤的鏡像一定是最新的鏡像。例如,我可以輕易地把一個過時的鏡像變成一個有latest標籤的鏡像,例如:

latest 标签在Docker 中的作用是什么?

#這裡有latest標籤的鏡像與0.9版本的鏡像是一樣的,都是兩週前的版本,然而1.0的鏡像是一分鐘以前的。

為什麼這個標籤會讓很多人迷惑,其實比較容易理解。 ‘just pull the latest image’ 這句話的意思是取得帶有latest標籤的鏡像還是取得最新的鏡像?這兩者是否是一樣呢?它們是不是資源庫中最新的鏡像呢?是最新的穩定版鏡像或是最新的開發版鏡像呢?

更糟的是,很多人似乎認為latest標籤會自動更新,也就是說如果我取得一個有latest標籤的映像,Docker會在每次運行之前去檢查它是不是最新的版本。這是絕對不會出現的情況,就像其它的標籤一樣,你需要去手動決定Docker取得最新版本的映像。

困惑並不僅僅是這些。如果我從資源庫docker pull一個映像卻沒指定標籤,會發生什麼事?如果你認為會取得下所有的鏡像,那麼就錯了,它只會取得下來有latest標籤的那個。如果你需要取得全部鏡像,需要加上-a標誌。如果你在資源庫執行了pull操作,卻沒帶latest標籤,會發生什麼事?如下圖所示:

$ docker pull amouat/myrepo
Pulling repository amouat/myrepo
2015/01/21 12:04:06 Tag latest not found in repository amouat/myrepo
登入後複製

意料之中的是Docker給了錯誤訊息。但是我認為你不知道這其中發生了什麼。一個更令人討厭的是latest標籤隱藏了其它的標籤,假設你要下載帶有latest標籤的debian鏡像。哪個是它的版本呢?

$ docker images debian
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
debian              latest              4d6ce913b130        4 days ago          84.98 MB
登入後複製

額,不知道。事實上是7.8 wheezy版本。

latest 标签在Docker 中的作用是什么?

#我認為Docker在下載映像時應該把所有的標籤都帶上,但我不知道為什麼它沒有這麼做。現在的情況是用戶可以擁有同一個鏡像的不同版本因為伺服器上用標籤來標示。例如:如果wheezy和latest都在Hub上更新了,而我只獲取了更新後的wheezy版本debian,那麼儘管在Hub上他們可以被區分開,但是我的wheezy標籤將會比本地的latest標籤的版本新。

上述只是涵蓋了latest的大部分語意以及它造成的常見誤解。這種情況怎麼能夠改善呢?個人認為,可以取消latest標籤並用一個更接近其字面意思的詞來代替,例如default。我也希望可以看到一些改進標籤原作方式的工作,例如同時更新一個鏡像的全部標籤。同時,我也強烈建議資源庫管理員去警惕這個latest標籤並徹底放棄它。

以上是latest 標籤在Docker 中的作用是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Android TV Box 獲得非官方 Ubuntu 24.04 升級 Android TV Box 獲得非官方 Ubuntu 24.04 升級 Sep 05, 2024 am 06:33 AM

Android TV Box 獲得非官方 Ubuntu 24.04 升級

deepseek網頁版入口 deepseek官網入口 deepseek網頁版入口 deepseek官網入口 Feb 19, 2025 pm 04:54 PM

deepseek網頁版入口 deepseek官網入口

deepseek怎麼安裝 deepseek怎麼安裝 Feb 19, 2025 pm 05:48 PM

deepseek怎麼安裝

BitPie比特派錢包app下載位址 BitPie比特派錢包app下載位址 Sep 10, 2024 pm 12:10 PM

BitPie比特派錢包app下載位址

BITGet官方網站安裝(2025新手指南) BITGet官方網站安裝(2025新手指南) Feb 21, 2025 pm 08:42 PM

BITGet官方網站安裝(2025新手指南)

詳解:Shell腳本變數判斷參數指令 詳解:Shell腳本變數判斷參數指令 Sep 02, 2024 pm 03:25 PM

詳解:Shell腳本變數判斷參數指令

Zabbix 3.4 原始碼編譯安裝 Zabbix 3.4 原始碼編譯安裝 Sep 04, 2024 am 07:32 AM

Zabbix 3.4 原始碼編譯安裝

歐易okx安裝包直接進 歐易okx安裝包直接進 Feb 21, 2025 pm 08:00 PM

歐易okx安裝包直接進

See all articles