我想知道是否有一种方法可以在单个logstash
容器上运行具有单独配置的两个Docker
进程。
我的设置有一个Logstash进程,使用file作为输入向Redis发送事件,然后从第二个Logstash进程到自定义http进程。所以,Logstash --> Redis --> Logstash --> Http
。希望将两个Logstash实例和Redis保持在同一个Docker容器中。我还是Docker&非常感谢任何投入/反馈。
答案 0 :(得分:3)
这将比它需要的更复杂。在Docker世界中,运行三个容器来完成三件事比运行一个容器来完成它们要简单得多。虽然有可能 -
您需要在容器中运行init进程来控制多个进程,并将其作为容器的入口点启动。 init必须知道如何启动您感兴趣的进程,logstash和redis。 Basimage / phusion提供了一个具有良好初始化系统的图像,但是启动脚本基于runit并且很难获取。
如果您只想运行单个进程,可以使用docker-compose文件启动所有三个进程并将它们链接在一起。