Centos 中 Docker 的日志总是会打印到 /var/log/messages, 最后导致该文件越来越大, 但是docker容器的都是有自己的日志的, 基本是冗余的功能.所以想停掉.
在 Centos 中系统日志是通过 rsyslog 来做的. 关于rsyslog 可以看这篇文章.
日志格式是 : 服务名称[连接符号]日志等级 日志存放位置
, 例如定时任务: cron.* /var/log/cron
.
服务名称好像是系统固定的, 我使用 docker.info /var/log/docker.log
会提示
Sep 19 13:24:36 localhost rsyslogd: unknown facility name “docker” [v8.24.0-34.el7]
所以只能全部停掉, 使用 user.none
!
需要修改的是
*.info;mail.none;authpriv.none;cron.none /var/log/messages
修改为
*.info;mail.none;authpriv.none;cron.none;user.none /var/log/messages
这样docker的日志就没有了.
另外还有两个比较有用的参数, 正常生成的文件只有 root 用户可以查看, 我们可以修改生成文件的权限如下:
## 生成的文件权限
$FileCreateMode 0644
## 生成的目录权限
$DirCreateMode 0755
这两个参数是否可用, 暂时还没有测试.
(完)