Docker日志太多撑爆硬盘?一次搞定日志轮转与清理 - 暮色之狐

文章目录

Docker日志太多撑爆硬盘?一次搞定日志轮转与清理 - 暮色之狐

相关消息称,运维过Docker容器的朋友,大概率都经历过这样的惊魂时刻:突然收到磁盘告警,df -h一看,根目录使用率100%。顺着路径查下去,发现/var/lib/docker/containers/下躺着好几个几十GB的日志文件。 科技新闻。

配置轮转之后,只对新产生的日志生效。已经存在的超大日志文件不会自动消失,需要手动清理。

修改Docker守护进程的配置文件/etc/docker/daemon.json(如果文件不存在,新建即可):

日志背景与起因

Docker Compose方式(在docker-compose.yml中添加):

注意:千万不要用rm直接删除日志文件!因为Docker进程还在占用文件句柄,直接删除会导致写入失败,甚至容器异常。

修改后执行docker-compose up -d重建容器即可。

日志事件经过

如果你确定要清理当前所有容器的日志,可以执行:

今天这篇文章,就带你彻底解决这个问题——包含全局配置、单容器配置,以及旧日志的清理方案。

Docker Run方式:

日志各方回应

如果你不想影响全局,或者只想针对某个特定容器配置更小的日志限制,可以在容器启动时单独指定。

如果你刚好要重新配置容器(比如修改了docker-compose.yml),重建时旧容器会被移除,其关联的日志文件也会一并删除。

没错,Docker默认的json-file日志驱动不会自动轮转。容器里输出的每一条日志都会被原封不动地记录下来,日积月累,直到撑爆你的硬盘。

日志影响分析

参数说明:

配置完成后,执行以下命令使配置生效,该命令会重启所有容器,建议在业务低峰期或维护窗口操作。

如果容器不能重启,可以使用truncate命令将日志文件“截断”为0大小,而不会破坏Docker对该文件的写入句柄。

日志轮转是容器运维的基础但至关紧要的环节。别等到服务器告警才想起来配置,现在就去检查你的Docker环境吧!

声明:本文信息来源于相关渠道或网络,版权归原作者所有。如涉及版权问题请及时与本站联系删除。本文观点仅供参考,不代表本站立场。
天枢新闻网
天枢新闻网资深内容创作者,致力于为广大读者提供及时、准确、深度的新闻资讯与行业分析。
领域:科技 发布:2026-08-05