Linux系统硬盘爆了?可能是因为Docker日志文件

定位问题

1
df -h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
文件系统                 大小  已用  可用 已用% 挂载点
overlay 3.5T 3.4T 0 100% /var/lib/docker/overlay2/e45ac69ad614de49cc50e66d404e159e86532193608da7315ca33aa776e426ab/merged
overlay 3.5T 3.4T 0 100% /var/lib/docker/overlay2/3943e7de3bee9fa4d6df1e2dfc41d6270d11d99e79869246763033361e47e2cb/merged
overlay 3.5T 3.4T 0 100% /var/lib/docker/overlay2/2854576b609fd3e9ea2f2ce422fdc072dc336e75e48fce8efca1398e50b45c72/merged
overlay 3.5T 3.4T 0 100% /var/lib/docker/overlay2/277d7a0a1652cdd1d897b31bbb664e3a48df16b0a86c93bc49b954a3474b8c8d/merged
overlay 3.5T 3.4T 0 100% /var/lib/docker/overlay2/aae88261354c1bf9c464ab9a1386c43456c5ef642257d525baa2e7d17a5ebbfa/merged
overlay 3.5T 3.4T 0 100% /var/lib/docker/overlay2/056b2f4288d93c749f4cceec062c9bdce80ddd5e25a4169bf8eaa94974663838/merged
overlay 3.5T 3.4T 0 100% /var/lib/docker/overlay2/3b0d89c6ffd7937be3fb5e98eb3aaa172878cd07dc29fd361fa68b03459ddf5c/merged
overlay 3.5T 3.4T 0 100% /var/lib/docker/overlay2/8b0436ab542ce749d60f43f901c23e7a0b5e257dfff2cf40ea279a35630b2f42/merged
overlay 3.5T 3.4T 0 100% /var/lib/docker/overlay2/c2a67b4a21ac5c854cd8c6a7f131bd42358fe182c4338a074b2886e5484e1291/merged
overlay 3.5T 3.4T 0 100% /var/lib/docker/overlay2/65d6760ebd759b852447be0c76217c3d99fc5e7ff683176bc860edde2c62a314/merged
tmpfs 13G 148K 13G 1% /run/user/1000
/dev/sda2 6.6T 386M 6.6T 1% /media/admin330/20B433E5B433BBDA
tmpfs 13G 112K 13G 1% /run/user/1002

可以看到是docker的文件

查看日志文件

容器的日志文件在/var/lib/docker/containers/{containerId}下。名字为*-json.log.

删除日志文件

1
sudo find /var/lib/docker/containers -type f -name "*-json.log" -exec rm -f {} \;

修改docker日志缓存大小

1. 日志管理

Docker 默认将容器的标准输出和错误输出保存在日志文件中。这些日志可能会迅速增长。你可以通过设置日志轮转来限制它们的大小。可以在 Docker 的守护进程配置文件 daemon.json 中指定日志驱动和参数。例如:

1
2
3
4
5
6
7
{  
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
  • max-size: 设置单个日志文件的最大大小。
  • max-file: 设置保留的日志文件数量。

设置步骤

  1. 编辑 /etc/docker/daemon.json

    1
    sudo nano /etc/docker/daemon.json  
  2. 添加或更新上述配置。

  3. 重新启动 Docker 服务:

    1
    sudo systemctl restart docker  

该封面图片由Zachtleven fotografiePixabay上发布