同一个Docker容器上的两个Logstash实例
问题描述:
我想知道是否有方法两个logstash
具有单独配置的进程可以在单个容器上运行。 我的安装程序有一个Logstash进程,使用文件作为输入将事件发送到Redis,并从那里到第二个Logstash进程并转到自定义http进程。所以,Logstash --> Redis --> Logstash --> Http
。希望将两个Logstash实例和Redis保留在同一个Docker容器中。我仍然是新的Docker &将高度赞赏任何输入/反馈相同。同一个Docker容器上的两个Logstash实例
答
这将比它需要更复杂。在Docker的世界里,运行三个容器来完成三件事比运行一个容器来完成它们要容易得多。虽然 -
您需要在您的容器中运行init进程来控制多个进程,并启动它作为容器的入口点。 init必须知道如何启动你感兴趣的进程,logstash和redis。 Basimage/phusion提供了一个具有良好初始化系统的映像,但启动脚本基于runit,并且很难拾取。
如果您只想运行一个进程,可以使用docker-compose文件启动所有三个进程并将它们链接在一起。