如何快速刪除狀態 dangling 的特定 Docker Images

如何快速刪除狀態 dangling 的特定 Docker Images

docker images tag none

通常在 Build Agnet 或 Docker Host 不斷部署之後,以 docker images 進行查詢,可以很明顯看到一堆 TAG 為 <none> 的 Images。一般而言,我們會定時清除為狀態為 dangling 的 Image,也就是上述 TAG 為 <none> 的 Images,以清除不必要(Unused) Image 來簡省伺服器硬碟空間。

docker images --filter "dangling=true"

使用 --filter(-f) 可以快速找出 Docker Host 裡所有狀態為 dangling 的 Image,再配合 PowerShell 即可快速刪除全部狀態為 dangling 的 Image。

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

不過,有時我們的需求是希望只處理特定 Docker Image,並不是要清除全部 Unused Images。其實 docker images 可以指定 Repository Name 或 Tag 來快速過濾:

dokcer images microsoft/dotnet
dokcer images microsoft/dotnet:2.2*
docker image by name
docker image by tag

這樣我們就能把上下技巧組合起來:

dokcer images microsoft/dotnet -f "dangling=true"

找出特定 Images 且 為狀態為 dangling 的 Image。

docker rmi $(dokcer images microsoft/dotnet -f "dangling=true")

清除所有特定 Images 為狀態為 dangling 的 Image。

docker rmi all image by name by dangling

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。