docker如何刪除<none>/dangling/懸空鏡像
問題
在docker build 的過程中會出現(xiàn)中間鏡像。中間鏡像不一定會自動刪除。
會占用存儲空間
可以通過以下命令查找懸空的鏡像
docker images -f dangling=true

docker images更多用法可以看我的這篇文章
積少成多,懸空鏡像還是很占用空間的。
具體占用系統(tǒng)哪塊空間可以使用以下命令
docker image inspect <IMAGE_ID>
在GraphDriver中間,顯示的就是在服務器中存儲在哪里。
可以通過修改data-root來更換位置

解決
情況懸空鏡像可以通過以下命令來清楚
docker rmi $(docker images -f "dangling=true" -q)
也可以通過以下命令來刪除。
docker image prune

但是如果加上-a會有一個問題,按照官方解釋加上-a不僅會刪除懸空鏡像,還會刪除未使用的鏡像。
比如說我下載了某個鏡像A,但是沒有生成容器呢,或者容器已經刪除了,這時這個鏡像A就叫做未使用的鏡像。
可以參考:
https://stackoverflow.com/questions/45142528/what-is-a-dangling-image-and-what-is-an-unused-image
刪除過程中可能出現(xiàn)以下問題

Error response from daemon: conflict: unable to delete bcd6c489bc72 (must be forced) - image is being used by stopped container e34ee987580c
代表有容器正在使用,通過以下命令查看是哪個容器
docker ps -a |grep e34ee987580c

通過輸出可以知道這個容器已經退出了,并且紅框里這個命名規(guī)則是docker自動生成的,是一個“比較奇怪的組合”
可以放心刪除
docker rm e34ee987580c

清理之后就可以刪除懸空鏡像了

總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Jenkins+Docker?一鍵自動化部署?SpringBoot?項目的詳細步驟
這篇文章主要介紹了Jenkins+Docker?一鍵自動化部署SpringBoot?項目,本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot?一鍵自動部署項目,步驟齊全,少走坑路,需要的朋友可以參考下2022-08-08
使用rpm安裝指定版本docker(1.12.6)的詳細步驟
為了防止安裝高版本的docker引發(fā)的錯誤,需要安裝1.12.6版本的docker,下面小編給大家?guī)砹耸褂胷pm安裝指定版本的docker(1.12.6)的步驟,感興趣的朋友一起看看吧2021-08-08

