巨大的 docker 日志文件,把磁盘占满了

服务器的剩余空间正以每天 2G 的速度在减少。。。慌了,晚上看了一下

找到哪个目录占用空间

排除几个挂载目录:

ncdu --exclude /mnt --exclude /var/www/html

没想到最大的文件是一个 docker 日志文件:

/var/lib/docker/containers/b0d200e0635bcdb9fa7975e9b3968737de904608121fdd817e75dca668135be5/b0d200e0635bcdb9fa7975e9b3968737de904608121fdd817e75dca668135be5-json.log
20.7 GiB

找到这个日志所属的容器

# docker ps -a | grep b0d200e0635b
b0d200e0635b   docker_compose_magento2-phpfpm82   "docker-php-entrypoi…"   16 months ago   Up 7 days 

清空日志

# 将日志文件清空为 0 字节(注意路径一定要包含这个具体的容器 ID)
> /var/lib/docker/containers/b0d200e0635bcdb9fa7975e9b3968737de904608121fdd817e75dca668135be5/b0d200e0635bcdb9fa7975e9b3968737de904608121fdd817e75dca668135be5-json.log

限制 docker 日志文件大小

修改 /etc/docker/daemon.json(全局生效)

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}

或者加个 crontab 定时任务

truncate -s 0 /var/lib/docker/containers/b0d200e0635bcdb9fa7975e9b3968737de904608121fdd817e75dca668135be5/b0d200e0635bcdb9fa7975e9b3968737de904608121fdd817e75dca668135be5-json.log
添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论