ENGINEERING PLAYBOOK
Docker 日志轮转与磁盘边界
日志轮转需要同时确认当前容器的日志驱动、新建容器默认配置和外部采集器行为。修改 daemon 配置通常只影响之后创建的容器。
适用人群:需要控制 Docker 本地日志磁盘占用并验证轮转生效的运维人员
排查路径
- 识别容器当前 logging driver 与日志文件位置。
- 检查 daemon 默认配置和单容器覆盖。
- 设置 max-size、max-file 并估算上限。
- 验证轮转、采集和重启后的行为。
执行步骤
- 执行 docker inspect 查看 LogConfig。
- 统计容器日志目录占用并按大小排序。
- 先在非关键容器验证轮转参数。
- 确认采集器能读取轮转后的文件。
- 修改默认值后重建目标容器再复核。
可复制命令与示例
查看日志驱动
docker inspect -f '{{json .HostConfig.LogConfig}}' CONTAINER限制 json-file 日志
{"log-driver":"json-file","log-opts":{"max-size":"10m","max-file":"3"}}可复现任务记录
具体错误或任务
容器 json-file 日志持续增长,需确认 max-size 与 max-file 是否真正写入容器配置。
失败信号:宿主机容器日志文件持续增长,docker inspect 中 LogConfig.Config 为空。
最小输入
目标容器名、当前日志驱动、单文件上限 10m、保留 3 个文件。
验证命令或步骤
docker inspect --format '{{json .HostConfig.LogConfig}}' app预期输出
Type 为 json-file,Config 同时包含 max-size=10m 与 max-file=3。
失败输出
Config 为 {}、仍使用旧容器配置,或守护进程默认值未应用到现有容器。
成功判据
重建目标容器后 inspect 与磁盘文件数量都符合上限,应用日志仍可查询且无 5xx 增长。
本任务常见错误
- 只改 daemon.json 不重建旧容器
- 直接删除活跃日志文件
- 轮转后未验证日志采集链路
资料与适用边界
日志驱动和轮转参数依据 Docker 官方 logging 文档;实际磁盘路径与采集行为由宿主机和驱动决定。
证据块复核日期:2026-09-04
相关站内页面
资料依据与复核边界
资料复核日期:2026-08-29