管理影像

Docker SELF
等級 13 , 課堂 4
開放

5.1 指令 docker images

如果你的系統裡已經存有 Docker 的映像檔,為了管理它們有一些特定的指令。首先,我們要討論的是 docker imagesdocker rmi。在這堂課中,我們會詳細講解如何使用這些指令來有效管理 Docker 映像檔。

指令 docker images 顯示本地系統中儲存的映像檔清單。它會顯示像是儲存庫名稱、標籤、映像檔 ID、建立日期和大小等資訊。這些資訊能快速讓你評估有哪些映像檔可以使用,以及它們佔用了多少空間。

語法:


docker images [OPTIONS] [REPOSITORY[:TAG]]

其中:

  • OPTIONS: 用於過濾和格式化輸出的其他參數。
  • [REPOSITORY[:TAG]]: (可選)以儲存庫名稱和/或標籤為篩選條件。

基本用法範例

這個範例會顯示所有本地儲存的映像檔清單。

Terminal


docker images 

指令 docker images 的範例輸出:

Terminal


REPOSITORY      TAG                 IMAGE ID                  CREATED               SIZE
nginx           latest              5a7e5b1a3b8c             2 days ago            133MB
ubuntu          20.04               ba6acccedd29             3 weeks ago           72.9MB
myapp           1.0                 d1e5e2ff5ff2             1 month ago           89.5MB

欄位描述:

  • REPOSITORY: 映像檔所屬的儲存庫名稱。
  • TAG: 代表映像檔版本的標籤。
  • IMAGE ID: 映像檔的唯一識別碼。
  • CREATED: 映像檔建立的時間。
  • SIZE: 映像檔在記憶體中的大小。

5.2 圖像篩選

圖像篩選可以縮小 docker images 命令的結果範圍,讓你只看到符合條件的圖像。這在你的系統中有很多圖像時特別有用,幫助你快速根據 repository 名稱、tag 或其他參數找到具體的圖像。

1. 根據 repository 篩選

Terminal


docker images nginx 

這個例子將只顯示來自 nginx repository 的圖像。

2. 根據 tag 篩選

Terminal


docker images ubuntu:20.04 

這個例子將顯示帶有 tag 20.04ubuntu 圖像。

3. 使用參數 -a (all)

默認情況下,docker images 命令只顯示圖像的最新版本。要顯示所有圖像,包括中間層,請使用 -a 選項。

Terminal


docker images -a 

4. 格式化輸出

為了便於閱讀或與其他工具結合使用,你可以使用選項 --format 自定義輸出格式。這在腳本和任務自動化中特別有用。

Terminal


docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}" 

5.3 指令 docker rmi

指令 docker rmi 用於刪除一個或多個 Docker 映像檔。這對於釋放磁碟空間和保持系統整潔非常有用,特別是當映像檔不再被使用時。

語法:

Terminal

docker rmi [OPTIONS] IMAGE [IMAGE...]

參數說明:

  • OPTIONS: 其他選項,用於管理刪除過程。
  • IMAGE: 需要刪除的映像檔的名稱、標籤或 ID。

基本用法範例

這個範例刪除了名稱為 nginx 的映像檔。

Terminal

docker rmi nginx

通過映像 ID 刪除

這個範例刪除了 ID 為 5a7e5b1a3b8c 的映像檔。

Terminal

docker rmi 5a7e5b1a3b8c

強制刪除映像檔

如果映像檔被容器使用或被鎖定,可能無法正常刪除。要強制刪除,請使用選項 -f (force)

Terminal

docker rmi -f myapp:1.0 

刪除多個映像檔

要一次刪除多個映像檔,請用空格分隔它們。

Terminal

docker rmi nginx ubuntu:20.04 myapp:1.0 

5.4 實際例子

範例 1: 查看所有圖像

為了獲取存儲在本地機器上的所有圖像完整列表,執行以下命令:

Terminal

docker images

該命令將顯示一個表格,包含存儲庫名稱、標籤、圖像 ID、創建日期和大小。

範例 2: 查看格式化輸出的圖像列表

為了獲取格式化的圖像列表,比如僅輸出存儲庫名稱和標籤:

Terminal

docker images --format "{{.Repository}}:{{.Tag}}"

這個例子展示了如何使用 --format 選項自定義輸出,這在編寫腳本時很方便。

範例 3: 刪除所有未使用的圖像

如果你想刪除所有未被容器使用的圖像,首先獲取它們的列表,然後進行刪除:

Terminal

docker images -q
docker rmi $(docker images -q)

命令 docker images -q 僅輸出所有本地保存圖像的 ID,然後將這些 ID 傳遞給 docker rmi 進行刪除。

範例 4: 刪除 dangling images

Dangling images 是沒有標籤的圖像,這些圖像通常在圖像更新或失敗構建後產生。要刪除這些圖像,使用以下命令:

Terminal

docker rmi $(docker images -f "dangling=true" -q) 

此處 -f "dangling=true" 過濾掉沒有標籤的圖像,-q 僅輸出它們的 ID,然後將這些 ID 傳遞給刪除命令。

1
Опрос
初識 Docker Images,  13 уровень,  4 лекция
недоступен
初識 Docker Images
初識 Docker Images
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION