docker daemon 常用配置

环境信息

  • Centos 7
  • Docker 19.03.15

docker 配置容器日志 rotate

docker daemon 方式配置容器日志 rotate

编辑 docker daemon 配置文件 /etc/docker/daemon.json (若不存在则新建),添加以下内容,用来配置 docker containers 的日志轮转

/etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}

重启 docker 服务生效

systemctl restart docker

根据以上配置,当容器日志大小达到 100m,即对其进行 rotate,并保留最多 3 个日志文件。

使用 OS 系统服务 logrotate 进行容器日志 rotate

Linux 系统中有专门用来做日志 rotate 的 服务 logrotate,可直接使用此服务做 log rotate

配置针对 docker 的 logrotate 配置

/etc/logrotate.d/docker
/var/lib/docker/containers/*/*.log {
daily
rotate 5
copytruncate
missingok
compress
delaycompress
maxsize 100M
minsize 1024k
}

使用 copytruncate 的方式做日志 totate 时,会先拷贝日志文件为 totate 日志文件,然后 truncate 日志,确保 totate 过程中,日志文件不变并一直保持打开状态。