Docker定时删除none镜像

在使用docker的时候会产生none镜像文件,偶尔没什么,但是比如使用了自动化部署工具那就不一样了,一天没准就上百个none镜像了,非常消耗资源,所以需要定时清理

删除 none 镜像命令

docker image prune -f

img.png img_1.png

删除自动化部署中的碎片化文件

在自动化部署中 Docker 生成了很多碎片化文件,在使用 Jenkins 自动化部署项目时,生成了很多 Images 和创建的容器,这些上面的命令不足以删除,所以得用以下命令来删除

docker system prune -f

注意该命令会删除这些容器和镜像,所以最好慎重选择,当然,如果全是自动部署的容器就无所谓。

执行完后

其实这样清除缓存文件不是最完全的方式,最完全的是把空闲的 Volumes 也一并清除(不过我怕容器在启动过程中被自动执行了导致数据永久丢失,得不偿失 所以不加这个吧)

docker system prune --volumes -f

配置自动化

既然知道了删除 none 镜像的命令,那么就简单了,只需要配置下 crontab 即可

crontab -e

尾部添加如下指令(表示每天 凌晨 3 点 30 分执行一次)

30 3 * * * docker system prune -f

总结

使用 docker 好像并没有可以自动删除的功能,不知道有没更好的办法,这种算是比较简单的了,记录一下。

本文由「诚哥博客」原创,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:Docker定时删除none镜像