温馨提示×

centos中docker如何进行日志轮转

小樊
55
2025-07-10 13:09:55
栏目: 智能运维

在CentOS系统中,Docker默认使用json-file日志驱动来记录容器日志。为了实现日志轮转,你可以使用logrotate工具。以下是配置Docker日志轮转的步骤:

  1. 首先确保已经安装了logrotate。如果没有安装,可以使用以下命令安装:
sudo yum install logrotate
  1. 创建一个新的logrotate配置文件,例如/etc/logrotate.d/docker,并添加以下内容:
/var/lib/docker/containers/*/*.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 0640 root root
    sharedscripts
    postrotate
        if [ -f /var/run/docker.sock ]; then
            kill -USR1 $(cat /var/run/docker.pid 2>/dev/null) || true
        fi
    endscript
}

这个配置文件定义了以下日志轮转策略:

  • 每天轮转一次日志(daily
  • 如果日志文件丢失,不会报错(missingok
  • 保留最近7天的日志文件(rotate 7
  • 使用gzip压缩旧的日志文件(compress
  • 如果日志文件为空,则不进行轮转(notifempty
  • 创建新的日志文件,权限为0640,属主和属组为root(create 0640 root root
  • 在轮转完成后,发送USR1信号给Docker守护进程,通知它重新打开日志文件(postrotateendscript
  1. 保存并关闭配置文件。

  2. 测试logrotate配置是否正确:

sudo logrotate -f /etc/logrotate.d/docker

这个命令会强制执行一次日志轮转。如果没有错误,说明配置正确。

现在,Docker日志轮转应该已经配置好了。你可以根据需要调整/etc/logrotate.d/docker文件中的配置。

0