我在单元文件中设置了docker run命令,如:
docker run ... \
--log-driver=json-file \
--log-opt max-size=10m \
--log-opt max-file=10 \
...
..到目前为止工作(docker logs命令工作,日志文件在那里,docker inspect显示给定的配置)。
但是容器仍然写入/ var / log / syslog(我要禁用它)。 如何禁用此行为?
Docker版本:1.10.3
Ubuntu:15.04
(是的,我知道 - 现在版本不在我手中。虽然安排了更新)
答案 0 :(得分:1)
如果容器inspect显示正在使用json日志记录驱动程序,并且您看到日志显示在/var/lib/docker/containers/*/*-json.log
中,则docker正在按预期使用json日志驱动程序。
您可能还有其他东西将您的docker日志转发到syslog。像logspout这样的工具可用于执行此转发。如果该工具本身在容器中运行,那么您将看到它将/ var / lib / docker / containers作为卷挂载。
另一种可能性是你运行了多个容器,一个写入syslog,另一个写入json。
无论哪种方式,根据提供的详细信息,您都可以正确设置泊坞窗,并且问题在上述配置的外部。
答案 1 :(得分:0)
供参考:
这是journald-config,而不是Docker本身将消息写入syslog。
要解决此问题,我只需设置
即可MaxLevelSyslog=err
/etc/systemd/journald.conf中的,它将写入syslog的消息限制为错误及以下(crit,alert,emerg)