是否可以在 Docker 中运行系统日志并将其作为主机的系统日志守护程序公开给主机?



我正在尝试在Docker中运行syslog,以便它可以访问容器的DNS配置。是否可以在 Docker 中运行系统日志并将其作为主机的系统日志守护程序公开给主机?

是的。我现在正在这样做,因为我有一个容器化的ELK(Elasticsearch/Logstash/Kibana)。

我的 logstash 在端口 514 上运行一个侦听器,用于将系统日志流量*转发到 ELK。

好吧,更准确地说 - 我正在运行一个 haproxy 实例,我使用 confd 和 etcd 将它重定向到我的系统日志容器所在的任何地方,但原则仍然存在。

我的房东有

*.* @@localhost

在他们的rsyslog.conf

而且效果很好。(我也可以从我的容器记录到这个系统日志)

我认为这有点旧,但它可以帮助其他人!

我认为最好的方法是使用 docker 驱动程序将日志发送到系统日志,而不是在里面运行系统日志。docker 中的最佳实践之一是在容器内仅运行一个进程。

如果您希望让一个 docker 在内部运行 syslog,并将所有日志从其他容器转发到此容器,这将是一个好主意,因为您将分离关注点,还可以扩展日志容器。

这是一个执行此操作的容器:在此处输入链接描述

最新更新