在 docker-compose.yml 中配置 logging 为 json-file 驱动并显式设置 max-size 和 max-file 参数,可实现轻量可靠日志轮转;需重建容器生效,支持可选 compress 压缩以节省磁盘空间。
直接在 docker-compose.yml 里配好 logging,是最轻量、最可靠的方式。不用改宿主机系统,也不依赖额外组件,改完重建容器就生效。
Docker Compose 默认用的就是 json-file,但它不自动启用轮转——必须显式写出来,避免某些旧版本 fallback 到无限制行为。
logging 区块driver 必须设为 "json-file"(注意加英文双引号)local、syslog 或留空两个参数必须一起用,缺一不可:
max-size: "10m":单个日志文件最大 10MB,建议范围 5m~50m,兼顾可读性与磁盘压力max-file: "3":最多保留 3 个日志文件(当前 + 2 个历史),超出自动删最旧的例如一个高输出服务可设 max-size: "50m" + max-file: "5",总占用上限约 250MB。
配置不是热加载,docker-compose up 不会重载日志设置,只有重建才生效:
docker-compose down 停止旧容器docker-compose up -d 启动新容器docker inspect <容器名> | grep -A 5 LogConfig,看输出里是否有对应参数如果磁盘特别紧张,可以开启日志压缩:
options 下加一行:compress: "true"
docker logs 查看,Docker 会自动解压