docker run 日志轮询
docker 默认使用 json-file 作为日志驱动。
docker run -d --log-driver json-file --log-opt max-size=100m --log-opt max-file=3 nginx
json-file 驱动支持的选项:
- max-size 单个日志文件大小
- max-file 保留几个日志文件
- compress 是否压缩日志文件
参考:JSON File logging driver | Docker Documentation
docker-compose 日志轮询
version: "3.9"
services:
nginx:
image: nginx
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "3"
参考:Compose file version 3 reference | Docker Documentation
logrotate 日志轮询
nginx 是按域名创建文件夹存放日志,可按以下配置来轮询日志。
/data/nginx/logs/*/*.log {
rotate 3
weekly
dateext
compress
size=100M
missingok
delaycompress
copytruncate
}