docker目录 /var/lib/docker/containers 日志清理
一、概述
Docker在不重建容器的情况下,日志文件默认会一直追加,时间一长会逐渐占满服务器的硬盘的空间,内存消耗也会一直增加。
查出占用磁盘较大的文件
Docker 的日志文件存在 /var/lib/docker/containers 目录中,通过下面的命令可以将日志文件夹根据升序的方式罗列出来。
du -d1 -h /var/lib/docker/containers | sort -h
输出如下:
50G /var/lib/docker/containers/a5f661b85d226ed9b40702c54fcbfab44d983e4a6ad05a94f5013d17e364c5f7 46G /var/lib/docker/containers/c00c292830ff312f8e6c3ae771b54c30bf8ac92fab2e44c0e60c6b3eed84cf98 36G /var/lib/docker/containers/ff8395dbb6d5e52e136a2f55d93cf7f41db05b18c37b92f3aa24807ea3d46644 ...
二、清理日志
由于日志文件比较多,一个个清理比较麻烦,这里直接使用脚本清理
clean_docker_logs.sh
内容如下:
#!/bin/bash echo "==================== start clean docker containers logs ==========================" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do echo "clean logs : $log" cat /dev/null > $log done echo "==================== end clean docker containers logs =========================="
执行脚本,就可以一键清理。
再次查看,发现已经清理好了。
# du -sh /var/lib/docker/containers 148K /var/lib/docker/containers
三、控制容器日志大小
以上只是临时解决的方式,不适合长期运行。
全局配置
创建或修改文件 /etc/docker/daemon.json,并增加以下配置
{ "log-driver":"json-file", "log-opts":{ "max-size" :"50m","max-file":"3" } }
max-size=50m,意味着一个容器日志大小上限是50M,
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。可以存在的最大日志文件数。如果超过最大值,则会删除最旧的文件。**仅在max-size设置时有效。默认为5。
随后重启 Docker 服务
sudo systemctl daemon-reload sudo systemctl restart docker
注意:设置的日志大小,只对新建的容器有效。已存在的容器不会生效,需要重建才可以。
本文参考链接:
https://www.cnblogs.com/zhangmingcheng/p/13960496.html
https://blog.csdn.net/weixin_41476014/article/details/103568756
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2019-07-22 Python 读取excel指定的列