docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker定时删除none镜像

Docker如何定时删除none镜像

作者:诚哥博客

本文介绍了在使用Docker进行自动化部署时,如何定时删除无用的none镜像,以节省资源,通过配置crontab任务,可以每天自动执行删除命令,同时,文章也提到可以清理空闲的Volumes,但需谨慎操作,以免影响容器数据

在使用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 好像并没有可以自动删除的功能,不知道有没更好的办法,这种算是比较简单的了,记录一下。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文