是否可以在 Docker 中运行 syslog 并将其作为主机的 syslog 守护进程公开给主机?
Posted
技术标签:
【中文标题】是否可以在 Docker 中运行 syslog 并将其作为主机的 syslog 守护进程公开给主机?【英文标题】:Is it possible run syslog inside Docker and expose that to the host as host's syslog daemon? 【发布时间】:2016-02-18 11:08:42 【问题描述】:我正在尝试在 Docker 中运行 syslog,以便它可以访问容器的 DNS 配置。
【问题讨论】:
【参考方案1】:是的。我现在正在这样做,因为我有一个容器化的 ELK(Elasticsearch/Logstash/Kibana)。
我的 logstash 在端口 514 上运行一个监听器,用于 syslog 流量*,它转发给 ELK。
嗯,更准确地说 - 我正在运行一个 haproxy 实例,我正在使用 confd 和 etcd 将它重定向到我的 syslog 容器所在的任何位置,但原则是不变的。
我的主人有
*.* @@localhost
在他们的rsyslog.conf
而且效果很好。 (我也可以从我的容器记录到这个 syslogd)
【讨论】:
【参考方案2】:我觉得这有点老了,但它可以帮助别人!
我认为最好的方法是使用 docker 驱动程序将日志发送到 syslog,而不是在里面运行 syslog。 docker 的最佳实践之一是在容器内只运行一个进程。
如果您想让一个 docker 在内部运行 syslog 并将所有日志从其他容器转发到此容器,这将是个好主意,因为您将分离关注点并且还可以扩展日志容器。
这是一个容器:enter link description here
【讨论】:
以上是关于是否可以在 Docker 中运行 syslog 并将其作为主机的 syslog 守护进程公开给主机?的主要内容,如果未能解决你的问题,请参考以下文章