用python脚本批量删除Docker镜像

CI系统在内网中会自动触发构建,导致docker镜像越来越多,经常把硬盘使用到没有空间。于是想着写一个脚本用来删除多余的镜像。今日有空,就写了一个脚本,共享在https://github.com/Macrame/clean-docker-image。默认保留三个版本,三个版本以前的都会删除掉。

运行脚本以后,首先分析镜像,把最新三个版本保留,以前的都加入到待删除列表中。然后真正执行删除操作。其实在这里可以加入一个询问用户是否真正要删除,输入y之后才进行删除(留给有心的小伙伴们自己完成吧).

效果如图:



上图是准备分析镜像,下图是真正执行删除操作。


这里可以看到,删除时并不是简单根据tag来删除,而是使用digests值来删除。这是因为如果一个镜像被两个仓库引用了,并且tag都已经成为<none>时,无法删除tag为none的镜像,使用digests则可以轻松解决问题。

而对于<none>:<none>这种镜像,此脚本也无法删除,使用

docker rmi -f $(docker images -f dangling=true -q)
即可轻松删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值