docker删除none镜像_docker空间回收分析

fc9e1212767bc6039594e16f14e5552a.png

有时候docker用着用着,发现突然容器挂了,怎么启动也起不来.

df -h 一看空间,我去,,都只剩20k了.

回头一想,不对啊,我的docker镜像并不大,也没运行多少数据,怎么会把磁盘给占满了呢.

docker images

653c34abff95af0e378d82013931ef18.png

计算了一下,还不到2个GB,不至于把我这虚拟机给占满.

并且,image里看到的空间只会比实际空间小才对,因为Docker 镜像是多层存储结构,并且可以继承、复用,因此不同镜像可能会因为使用相同的基础镜像,从而拥有共同的层。由于Docker 使用 Union FS,相同的层只需要保存一份即可,因此实际镜像硬盘占用空间很可能要比这个列表镜像大小的总和要小的多。

继续执行 docker system df

查看镜像、容器、数据卷所占用的空间

8503933c709fa69b10cac2c816bdf5cf.png

哎?怎么有个可回收空间.

从上图看出,images一共是2.17GB,其中有391MB的可回收空间

Local Volumes有734MB的可回收空间.

于是执行

docker system prune

3a913421f2b6bb9171d62bbb44f16e98.png

它提示我这么做会删掉所有已停止的容器容器没有用到的网络资源所有的虚悬镜像缓存数据

执行完,结果提示删除了0B

看来我没有虚悬镜像,也没有停掉的容器

镜像既没有仓库名,也没有标签,均为 <none>,就是虚悬镜像

重新看这张图找到了问题 :

8503933c709fa69b10cac2c816bdf5cf.png

这里显示我有5个images,但是活着的只有4个

我有7个磁盘占用卷,但是活着的只有4个

执行docker system df -v

c29d905c2f655882960057d21a8d74f2.png

没错,有个ftp的镜像我没有使用,算是个废弃image了,赶紧删掉

继续往下看

37d9e0de45db0e10ac2200a731a030d6.png

终于找到这三个没用的卷了

其实有个命令更便捷docker volume ls -qf dangling=true

这样会找出这些虚悬的卷

然后将他们删除

docker volume rm $(docker volume ls -qf dangling=true)

好了,空间就释放出来啦

d7f6ee4d6a23fcbac8d3d068371834d1.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值