定时清理docker image

本文介绍了如何通过定时任务自动清理Docker镜像以释放磁盘空间。通常,开发者在构建脚本中应删除不再使用的镜像,但有时会因为疏忽或不了解而遗漏。这可能导致磁盘空间逐渐被占满,特别是在共享构建环境中。为了解决这个问题,可以设置一个crontab任务,每天凌晨1点自动执行`docker image prune`命令,删除3天前的镜像。配置过程包括编辑crontab文件添加定时任务,然后重启cron服务。此方法确保了旧镜像的自动清理,避免了手动管理的麻烦。

现象

使用过docker的人都知道,在正常情况下,有经验的人员都会在程序的build脚本中最后添加一个docker rmi的操作,把自己刚刚使用过的image删除,目的就是及时释放磁盘空间,省的以后人工清理。
但是总会有一些人不这么做,要么是偷懒,要么是小白没想到,这样时间久了还是会磁盘被占满。尤其是在持续集成环境中,大家公用一个build machine的时候。大家各自打扫门前雪,更加不会有人care磁盘会不会被占满。

方法

为了一劳永逸的解决这个问题,最好的办法莫过于通过定时任务来清理旧的image。
这个方法听起来高大上,用起来简单的很。
运行crontab -e命令编辑定时任务。

crontab -e

在打开的文本编辑器最后添加如下一行,然后保存退出。

0 1 * * * docker image prune -a --force --filter "until=72h"

然后执行下面的命令使定时任务生效。

systemctl restart crond.service

其实,到这里,整个配置就结束了。接下来我们简单解释一下。
上面的定时任务是每天夜里1点钟删除3天(72h)之前的image。具体的操作时间,具体的image保留时间,大家根据自己的情况修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值