写点什么

docker 日志设置大小、build cache 清理及业务日志清理

  • 2024-01-08
    北京
  • 本文字数:550 字

    阅读完需:约 2 分钟

Docker 很占用空间,每当我们运行容器、拉取镜像、部署应用、构建自己的镜像时,我们的磁盘空间会被大量占用。

在生产环境中 docker 产生的日志通常比较大,最佳实践是设置 docker 日志大小,同时 docker 构建产生的 build cache 也需要清理

一、docker 日志设置大小

1、新建 daemon.json

vi /etc/docker/daemon.json

全局设置 docker 日志大小

{"log-driver":"json-file","log-opts": {"max-size":"500m", "max-file":"3"}}
复制代码

max-size=500m,意味着一个容器日志大小上限是 500M,

max-file=3,意味着一个容器有三个日志,分别是 id+.json、id+1.json、id+2.json。

2、重启 docker 守护进程

systemctl daemon-reload && systemctl restart docker
复制代码

3、重启 docker

将相关的 docker 服务启动

docker start docker名称
复制代码

二、业务日志清理

1、建立定时任务脚本


vi /usr/local/script/cut_log.shcd /home/admin/logs/data && find . -type f ( -name ".log" -o -name ".zip" ) -mtime +6 | xargs rm -f;
复制代码

如上:保留 data 文件夹下以 log 或 zip 结尾的日志 7 天

2、编辑 crontab 表达式

crontab -e如下:每天凌晨1点执行0 1 * * * sh /usr/local/script/cut_log.sh >/dev/null 2>&1
复制代码

三、build cache 清理

查看 docker 占用日志大小

sudo docker system df
复制代码

清理缓存,保留 180 小时如下

sudo docker builder prune --filter 'until=180h'
复制代码


用户头像

终身学习、研究java架构、ai大模型 2019-12-06 加入

商业合作: wytwhdwdd

评论

发布
暂无评论
docker日志设置大小、build cache清理及业务日志清理_Docker_创想科技小王_InfoQ写作社区