首頁 >運維 >Docker >如何刪除 Docker 映像、容器和磁碟區

如何刪除 Docker 映像、容器和磁碟區

Lisa Kudrow
Lisa Kudrow轉載
2025-01-09 10:23:29418瀏覽

碼頭工人 可以輕鬆地將應用程式和服務包裝在容器中,以便 你可以在任何地方運行它們。然而,當您使用 Docker 時,它也 容易累積過多未使用的鏡像、容器和 資料量會擾亂輸出並消耗磁碟空間。

Docker 為您提供了清理系統所需的所有工具 命令行。這個備忘單式的指南提供了快速 參考對於釋放磁碟空間和保留有用的命令 透過刪除未使用的 Docker 映像、容器和容器來組織您的系統

截屏2025-01-09 10.03.57.png

清除所有未使用或懸空的映像、容器、捲和網路

Docker 提供了一個命令來清理所有資源 -映像、容器、捲和網路-懸空的(未標記或與容器):

docker system prune

要另外刪除任何已停止的容器和所有未使用的圖像(不僅僅是懸空圖像),請將-a標誌加入指令:

docker system prune -a

刪除Docker 映像

刪除一個或多個特定鏡像>

使用有-a 標誌的docker images命令來尋找要刪除的映像的 ID。這將顯示 您的每個影像,包括中間影像圖層。當你已經 找到要刪除的鏡像,可以將它們的ID 或標籤傳遞給docker rmi:

列表:

docker images -a
刪除:

docker rmiImageImage
刪除懸掛的Docker映像

Docker 映像由多個層組成。懸掛的影像是層 與任何標記的圖像沒有關係。他們不再服務 目的並消耗磁碟空間。可以透過添加過濾器來定位它們 docker images 指令的標誌 -f 的值為 dangling=true 。當您確定要刪除它們時,可以使用 docker image prune 指令:

清單:

docker images -f dangling=true
刪除:

docker image prune
刪除:

根據a刪除映像模式

您可以使用 docker 映像和 grep 的組合來尋找與某個模式相符的所有映像。一旦您滿意,您可以使用 awk 將 ID 傳遞給 docker rmi 來刪除它們。請注意,這些實用程式不是由Docker 提供的,也不一定在所有系統上都可用:
docker images -a |  grep "pattern"
清單:

docker images -a | grep "pattern" | awk '{print ":"}' | xargs docker rmi
刪除:

刪除所有映像

透過在 docker images 指令中新增 -a 可以列出系統上的所有 Docker 映像。一旦您確定要全部刪除它們,您可以添加 -q 標誌以將映像 ID 傳遞給 docker rmi:

List:

docker system prune

刪除:

docker system prune -a

正在刪除容器

刪除一個或多個特定容器

使用帶有-a 標誌的docker ps 命令來尋找您想要刪除的容器的名稱或ID刪除:

列表:

docker images -a

刪除:

docker rmiImageImage

退出時刪除容器

如果您知道在建立容器時您不想保留它完成後,您可以執行docker run --rm 在退出時自動刪除它:

運行並刪除:

docker images -f dangling=true

刪除所有退出的容器

您可以使用docker ps -a 定位容器並按狀態過濾它們:已建立、正在重新啟動、正在運行、已暫停或退出。若要查看已退出容器的列表,請使用 -f 標誌根據狀態進行過濾。當您確認要刪除這些容器後,請使用 -q 將 ID 傳遞給 docker rm 指令:

清單:

docker image prune

刪除:

docker images -a |  grep "pattern"

刪除使用多個容器filter

Docker 過濾器可以透過重複過濾器標誌與 附加價值。這會產生滿足以下任一條件的容器列表 健康)狀況。例如,如果您想要刪除所有標記為 無論是建立(當您使用無效命令運行容器時可能導致的狀態)還是退出,您都可以使用兩個過濾器:

清單:

docker images -a | grep "pattern" | awk '{print ":"}' | xargs docker rmi

刪除:

docker images -a

依照模式

您可以使用docker ps 和 grep 的組合來尋找與模式相符的所有容器。當您對要刪除的清單感到滿意時,可以使用 awk 和 xargs 向 docker rm 提供 ID。請注意,這些實用程式不是由Docker 提供的,也不一定在所有系統上都可用:

清單:

docker rmi $(docker images -a -q)

刪除:

docker ps -a

停止並移除所有容器

您可以查看使用 docker ps 系統上的容器。新增 -a 標誌將顯示所有容器。當您確定要刪除它們時,可以新增-q 標誌以向docker stop 和docker rm 命令提供ID:

List:

docker rm ID_or_NameID_or_Name

刪除:

docker run --rm image_name
刪除:刪除:刪除:刪除:

刪除磁碟區

刪除一個或多個特定磁碟區

使用 docker volume ls 指令找到要刪除的一個或多個磁碟區名稱。然後,您可以使用docker “

刪除懸掛卷

從那時起捲的存在獨立於容器, 當刪除容器時,磁碟區不會自動刪除 同時。當卷存在並且不再連接到任何 容器,稱為懸空卷。  要找到它們以確認要刪除它們,可以使用 docker volume ls 帶有過濾器的命令將結果限制為懸空磁碟區。什麼時候 如果您對列表感到滿意,可以使用 docker volume prune 刪除它們:
docker system prune
列表:

docker system prune -a
刪除:

移除容器及其捲

如果建立未命名卷,則可以使用 -v 標誌將其與容器同時刪除。請注意,這僅適用於未命名的 卷。當容器被成功移除後,其ID為 顯示。請注意,沒有提及刪除卷。 如果未命名,則會默默地從系統中刪除。如果是的話 命名後,它會默默地存在。
docker images -a
刪除:

docker rmiImageImage

以上是如何刪除 Docker 映像、容器和磁碟區的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:digitalocean.com。如有侵權,請聯絡admin@php.cn刪除