我有以php-fpm为主要进程的容器。是否可以使用supervizor创建另一个容器作为主要过程来运行和控制php容器中的某些守护进程?例如,在php conainer中,有一些使用者使用来自RabbitMQ的消息。我想通过主管控制该消费者,但是我不想在php容器中运行supervizor。可能吗?
答案 0 :(得分:0)
问::我有一个运行php-fpm的容器作为其主要过程。是否可以使用supervisor
创建另一个容器作为运行和控制php容器中其他守护程序的主要过程?
A:我已经稍微重构了您的问题陈述,让我知道这是否没有道理。
可能的答案很短。 但是,您不希望在一个容器中嵌套容器,因为这被认为是anti-pattern
,而不是期望的micro-service
体系结构。
通常,一个容器中只能运行一个main process
。这样一来,process
死亡时,容器将停止并退出。因此,不要将其他工作processes
与它一起使用。
理想的体系结构是为rabbitmq
提供一个容器,为php
处理提供另一个容器。将它们旋转到同一docker network
上的最简单方法是通过docker-compose
文件。
您可能对以下属性links
/ depends_on
和expose
到port forward
的RabbitMq端口进入php
容器感兴趣。