使用 logrotate 管理 Docker 容器的日志
其实 Docker 使用 logrotate 管理日志,纯属多此一举,Docker 本身就具备切割日志文件功能。
文件 /etc/docker/daemon.json:
1
2
3
4
5
6
7
8
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3",
"compress": "true"
}
}
之前原文:
Docker Container 的 log 如不管理的话,很容易把小磁盘的空间写满,所以,迫切用传统办法将日志管理起来。
编辑 /etc/docker/daemon.json:
1
2
3
4
5
6
7
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
然后重启 Dockers 服务,比如我是 Debian 环境:
1
sudo service docker restart
安装 logrotate 后,确认配置目录是否是常规的,比如 /etc/logrotate.conf 中包括 include /etc/logrotate.d 配置,那么新建文件 /etc/logrotate.d/docker:
1
2
3
4
5
6
7
8
/var/lib/docker/containers/*/*.log {
rotate 7
daily
compress
missingok
delaycompress
copytruncate
}
Done!
本文由作者按照
CC BY 4.0
进行授权