Docker 守护进程正在写入系统日志,但为什么
Docker daemon writing to syslog but why
我是 运行 docker CE 设置,根据 docker info
,活动记录器是 json-file
。然而,我的系统日志中充斥着关于 NetworDB
的日志
Aug 21 23:45:17 myhost dockerd[859]: time="2019-08-21T23:45:17.488796292+02:00" level=info msg="NetworkDB stats myhost(68894b27f787) - netID:tm84fou4w4x98tgpqv19femay leaving:false netPeers:1 entries:6 Queue qLen:0 netMsg/s:0"
这条消息来自哪里?我该如何配置/禁用它?
您在docker info
中看到的活动记录器是指用于收集容器日志的日志驱动程序。您看到的是来自 dockerd
本身的日志消息。
假设您的 dockerd
由 systemd
启动,日志显示在系统日志中,因为 dockerd
将它们写入 stdout/stderr 并且 systemd 收集输出并将其写入到系统日志。你有一些机制来处理这个问题:
通过设置 --log-level
命令行选项减少 Docker 的日志记录冗长程度:
dockerd --log-level=warn ...
(您可能需要修改 docker.service
单元以添加此参数,最好通过使用 drop-in 配置文件)。
您可以通过在 docker.service
单元中设置 StandardOutput
参数来将日志重定向到文件(使用上述插入)。
您可以使用具有过滤功能的 syslog 守护程序(如 syslog-ng 或 rsyslog)来抑制消息或将它们重定向到与主日志不同的文件。
就我个人而言,我不会为以上任何问题而烦恼:dockerd
的日志输出不太可能导致真正的问题,如果突然出现问题,最好有太多日志而不是不够
我是 运行 docker CE 设置,根据 docker info
,活动记录器是 json-file
。然而,我的系统日志中充斥着关于 NetworDB
Aug 21 23:45:17 myhost dockerd[859]: time="2019-08-21T23:45:17.488796292+02:00" level=info msg="NetworkDB stats myhost(68894b27f787) - netID:tm84fou4w4x98tgpqv19femay leaving:false netPeers:1 entries:6 Queue qLen:0 netMsg/s:0"
这条消息来自哪里?我该如何配置/禁用它?
您在docker info
中看到的活动记录器是指用于收集容器日志的日志驱动程序。您看到的是来自 dockerd
本身的日志消息。
假设您的 dockerd
由 systemd
启动,日志显示在系统日志中,因为 dockerd
将它们写入 stdout/stderr 并且 systemd 收集输出并将其写入到系统日志。你有一些机制来处理这个问题:
通过设置
--log-level
命令行选项减少 Docker 的日志记录冗长程度:dockerd --log-level=warn ...
(您可能需要修改
docker.service
单元以添加此参数,最好通过使用 drop-in 配置文件)。您可以通过在
docker.service
单元中设置StandardOutput
参数来将日志重定向到文件(使用上述插入)。您可以使用具有过滤功能的 syslog 守护程序(如 syslog-ng 或 rsyslog)来抑制消息或将它们重定向到与主日志不同的文件。
就我个人而言,我不会为以上任何问题而烦恼:dockerd
的日志输出不太可能导致真正的问题,如果突然出现问题,最好有太多日志而不是不够