1. 程式人生 > 實用技巧 >學習 Docker 如何檢視映象資訊?

學習 Docker 如何檢視映象資訊?

學習 Docker 如何檢視映象資訊?

一、images 命令列出映象

通過使用如下兩個命令,列出本機已有的映象:

docker images

或:

docker image ls

如下圖所示:

對上述紅色標註的欄位做一下解釋:

  • REPOSITORY: 來自於哪個倉庫;
  • TAG: 映象的標籤資訊,比如 5.7、latest 表示不同的版本資訊;
  • IMAGE ID: 映象的 ID, 如果您看到兩個 ID 完全相同,那麼實際上,它們指向的是同一個映象,只是標籤名稱不同罷了;
  • CREATED: 映象最後的更新時間;
  • SIZE: 映象的大小,優秀的映象一般體積都比較小,這也是我更傾向於使用輕量級的 alpine 版本的原因;

注意:圖中的映象大小資訊只是邏輯上的大小資訊,因為一個映象是由多個映象層(layer)組成的,而相同的映象層本地只會儲存一份,所以,真實情況下,佔用的物理儲存空間大小,可能會小於邏輯大小。

二、使用 tag 命令為映象新增標籤

通常情況下,為了方便在後續工作中,快速地找到某個映象,我們可以使用 docker tag 命令,為本地映象新增一個新的標籤。如下圖所示:

docker.io/mysql 映象,新增新的映象標籤 allen_mysql:5.7。然後使用 docker images 命令,檢視本地映象:

可以看到,本地多了一個 allen_mysql:5.7 的映象。細心的你一定還會發現,allen_mysql:5.7

docker.io/mysql:5.7 的映象 ID 是一模一樣的,說明它們是同一個映象,只是別名不同而已。

docker tag 命令功能更像是, 為指定映象新增快捷方式一樣。

三、使用 inspect 命令檢視映象詳細資訊

通過 docker inspect 命令,我們可以獲取映象的詳細資訊,其中,包括建立者,各層的數字摘要等。

docker inspect docker.io/mysql:5.7

docker inspect 返回的是 JSON 格式的資訊,如果您想獲取其中指定的一項內容,可以通過 -f 來指定,如獲取映象大小:

docker inspect -f {{".Size"}} docker.io/mysql:5.7

四、使用 history 命令檢視映象歷史

前面的小節中,我們知道了,一個映象是由多個層(layer)組成的,那麼,我們要如何知道各個層的具體內容呢?

通過 docker history 命令,可以列出各個層(layer)的建立資訊,如我們檢視 docker.io/mysql:5.7 的各層資訊:

docker history docker.io/mysql:5.7

可以看到,上面過長的資訊,為了方便展示,後面都省略了,如果您想要看具體資訊,可以通過新增 --no-trunc 選項,如下面命令:

docker history --no-trunc docker.io/mysql:5.7

五、總結

本文中,我們著重瞭解了 Docker 中如何檢視映象資訊,以及 tag 命令、inspect 命令、history 命令的作用。祝您學習愉快!