[docker] docker删除<none>/dangling/悬空镜像

问题

在docker build 的过程中会出现中间镜像。中间镜像不一定会自动删除。会占用存储空间
可以通过以下命令查找悬空的镜像

docker images -f dangling=true

在这里插入图片描述
docker images更多用法可以看我的这篇博客
https://blog.csdn.net/petrel2015/article/details/120450308

积少成多,悬空镜像还是很占用空间的。具体占用系统哪块空间可以使用以下命令

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
https://stackoverflow.com/questions/57918513/what-are-dangling-images-in-docker-how-they-created-how-to-remove-them

删除过程中可能出现以下问题
在这里插入图片描述

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

在这里插入图片描述
通过输出可以知道这个容器已经退出了,并且红框里这个命名规则是docker自动生成的,是一个“比较奇怪的组合”
可以放心删除

docker rm e34ee987580c

在这里插入图片描述

清理之后就可以删除悬空镜像了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值