docker日志大小限制通过json-file驱动的max-size和max-files参数实现,支持按大小和文件数量轮转;可在docker run中临时设置或在daemon.json中全局配置,修改后需重启docker服务并重建容器生效。

Docker 日志大小限制通过配置 logging driver 的选项实现,最常用的是 json-file 驱动,它支持按大小和文件数量轮转日志。
在 docker run 中临时设置日志大小限制
启动容器时用 --log-opt 指定参数:
-
--log-opt max-size=10m:单个日志文件最大 10MB -
--log-opt max-files=3:最多保留 3 个历史日志文件(含当前)
示例命令:
docker run --log-opt max-size=5m --log-opt max-files=5 -d nginx在 daemon.json 中全局设置日志限制
修改 Docker 守护进程配置文件 /etc/docker/daemon.json(Linux)或 Docker Desktop 设置(macOS/Windows),让所有容器默认生效:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-files": "3"
}
}
修改后需重启 Docker 服务:
sudo systemctl restart docker(Linux)
验证日志配置是否生效
查看容器实际使用的日志驱动和参数:
docker inspect也可直接检查日志文件目录(默认 /var/lib/docker/containers/<id>/<id>-json.log</id></id>),观察是否有多个 .1、.2 轮转文件生成。
注意点和常见问题
- 日志大小限制只对
json-file和local驱动有效,syslog、journald等不支持max-size -
max-size单位支持b、k、m、g(如100k、200m) - 已有容器不会自动继承新 daemon 配置,需重建容器才生效
- 日志轮转由 Docker 守护进程触发,不是实时检查,通常在写入时判断是否超限











