Docker這些none:none的映象,難道就不配擁有名字嗎
阿新 • • 發佈:2020-08-01
1 前言
歡迎訪問南瓜慢說 www.pkslow.com獲取更多精彩文章!
搞容器開發一段時間後,想看看都有哪些映象,執行了一下docker images -a
,蒙圈了,有一堆<none>:<none>
的映象。不知有什麼用,不知能不能刪,不知會不會佔用很多空間。接下來我們探索一下吧。
2 映象也有好壞嗎?
這些<none>:<none>
映象可分為兩類:好與壞、有用與無用、不建議刪除和建議刪除的。
2.1 好的none
好的<none>:<none>
映象是由於映象分層的中間映象。它們只會在docker images -a
docker images
是不會顯示的。它們也不會造成空間問題。
2.2 壞的none
壞的<none>:<none>
映象會佔用空間,主要是由於新加映象替換原來相對標籤的映象,原來映象就變成了<none>:<none>
而不會被刪除。
我們執行docker images
檢視:
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE pkslow/springboot-mongo 0.0.6 f029f9b6e703 28 minutes ago 356MB pkslow/springboot-mongo latest f029f9b6e703 28 minutes ago 356MB <none> <none> 56de36189ad6 29 minutes ago 356MB <none> <none> 9e00dfd258dc 40 hours ago 356MB <none> <none> 2d736eaaafd0 2 weeks ago 346MB
然後再docker build
一次,用同樣的標籤0.0.6
。
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE pkslow/springboot-mongo 0.0.6 2119e4fbc6e8 43 seconds ago 356MB pkslow/springboot-mongo latest 2119e4fbc6e8 43 seconds ago 356MB <none> <none> f029f9b6e703 30 minutes ago 356MB <none> <none> 56de36189ad6 31 minutes ago 356MB <none> <none> 9e00dfd258dc 40 hours ago 356MB <none> <none> 2d736eaaafd0 2 weeks ago 346MB
認真檢視可以得出,以前最新的映象ID為f029f9b6e703
,後來變成了<none>:<none>
。
這些壞壞的映象也叫dangling images
,空懸映象。
3 如何刪除dangling images
既然沒用,又還佔用空間,不如就刪掉它。Docker
沒有自動刪除這些映象的機制,可以通過以下命令刪除:
$ docker rmi $(docker images -f "dangling=true" -q)
檢查一下,已經沒有<none>
的映象了。
$ docker images | grep '<none>'
歡迎關注微信公眾號<南瓜慢說>,將持續為你更新...
多讀書,多分享;多寫作,多整理。