首页 docker

docker日志清理

发布于: 2025-06-07

日志默认位置:

1
/var/lib/docker/containers/<container-id>/<container-id>-json.log

运行容器时设置轮转策略

1
2
3
4
5
6
docker run -d \
--name myapp \
--log-driver json-file \
--log-opt max-size=10m \
--log-opt max-file=3 \
myapp:latest

参数解释:

  • max-size=10m:单个日志文件最大 10MB
  • max-file=3:最多保留 3 个轮转文件(最多 30MB)

容器总日志控制在 30MB 内,绝不爆炸!

修改 Docker 配置

该配置适用于所有容器

编辑配置文件 /etc/docker/daemon.json

1
2
3
4
5
6
7
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "5"
}
}

重启 Docker 服务

1
systemctl restart docker

正在运行的容器

1
echo "" > $(docker inspect --format='{{.LogPath}}' <container-id>)

或者更稳一点:

  1. docker stop 停掉容器
  2. docker rm 删除容器
  3. 使用轮转参数重新 run容器

禁用日志输出

这个操作慎用,有可能影响应用运行,而且不方便后续排查

1
docker run --log-driver=none 容器名

日志快速清理

仅推荐在磁盘告急时临时使用!

1
find /var/lib/docker/containers -name *-json.log -exec truncate -s 0 {} \;

根据不同场景推荐配置值。

场景建议参数
开发环境max-size=5m``max-file=3
测试环境max-size=10m``max-file=5
生产环境max-size=50m``max-file=10