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

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

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

但是如果加上-a會有一個問題,按照官方解釋加上-a不僅會刪除懸空鏡像,還會刪除未使用的鏡像。
比如說我下載了某個鏡像A,但是沒有生成容器呢,或者容器已經(jīng)刪除了,這時這個鏡像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

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

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

總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Docker部署Gitblit服務(wù)器的詳細(xì)指南
Gitblit 是一個完全開源的純 Java 軟件,專注于為 Git 提供一個全面的解決方案,本文為大家整理了Docker部署Gitblit服務(wù)器的詳細(xì)步驟,希望對大家有所幫助2025-04-04
Docker Registry 私有倉庫搭建詳細(xì)步驟
這篇文章主要介紹了Docker Registry 私有倉庫搭建的相關(guān)資料,需要的朋友可以參考下2016-10-10
docker多容器操作與強(qiáng)制刪除容器的方法步驟
有時候我們會有很多已經(jīng)停止的容器或者由于錯誤強(qiáng)制退出不能用的容器,那我們就需要刪除了,下面這篇文章主要給大家介紹了關(guān)于docker多容器操作與強(qiáng)制刪除容器的方法步驟,需要的朋友可以參考下2022-11-11
Jenkins+Docker?一鍵自動化部署?SpringBoot?項(xiàng)目的詳細(xì)步驟
這篇文章主要介紹了Jenkins+Docker?一鍵自動化部署SpringBoot?項(xiàng)目,本文章實(shí)現(xiàn)最簡單全面的Jenkins+docker+springboot?一鍵自動部署項(xiàng)目,步驟齊全,少走坑路,需要的朋友可以參考下2022-08-08
使用rpm安裝指定版本docker(1.12.6)的詳細(xì)步驟
為了防止安裝高版本的docker引發(fā)的錯誤,需要安裝1.12.6版本的docker,下面小編給大家?guī)砹耸褂胷pm安裝指定版本的docker(1.12.6)的步驟,感興趣的朋友一起看看吧2021-08-08
IDEA集成Docker實(shí)現(xiàn)一鍵部署全過程
本文詳細(xì)介紹了如何在IntelliJ IDEA中集成Docker并實(shí)現(xiàn)一鍵部署代碼的步驟,包括安裝Docker、配置服務(wù)器、IDEA配置、添加Dockerfile、運(yùn)行配置以及一鍵部署2024-11-11

