在使用docker的时候会产生none镜像文件,偶尔没什么,但是比如使用了自动化部署工具那就不一样了,一天没准就上百个none镜像了,非常消耗资源,所以需要定时清理
删除 none 镜像命令
docker image prune -f
删除自动化部署中的碎片化文件
在自动化部署中 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版权协议,转载请附上原文出处链接及本声明。