【发布时间】:2019-01-31 19:48:35
【问题描述】:
我有 php-fpm 作为主进程的容器。是否可以创建另一个以 supervizor 作为主要进程的容器来运行和控制 php 容器中的某些守护进程?例如,在 php conainer 中有一些消费者使用来自 rabbitMQ 的消息。我想通过主管控制消费者,但我不想在 php 容器中运行 supervizor。可能吗?
【问题讨论】:
标签: docker rabbitmq supervisord
我有 php-fpm 作为主进程的容器。是否可以创建另一个以 supervizor 作为主要进程的容器来运行和控制 php 容器中的某些守护进程?例如,在 php conainer 中有一些消费者使用来自 rabbitMQ 的消息。我想通过主管控制消费者,但我不想在 php 容器中运行 supervizor。可能吗?
【问题讨论】:
标签: docker rabbitmq supervisord
问:我有一个运行 php-fpm 作为其主要进程的容器。是否可以创建另一个以supervisor为主要进程的容器来运行和控制php容器中的其他守护进程?
答:我稍微重构了你的问题陈述,如果没有意义,请告诉我。
简短的回答,可能。 但是您不希望在一个容器中嵌套容器,因为这被认为是 anti-pattern 而不是 micro-service 架构的愿望。
通常您只会在容器中运行一个main process。这样当process 死亡时,容器将停止并退出。因此,不要将其他正在工作的processes 带上。
理想的架构是为rabbitmq 提供一个容器,为php 进程提供另一个容器。在同一个docker network 上旋转它们的最简单方法是通过docker-compose 文件。
您可能对以下属性感兴趣:links/depends_on 和 expose 到 port forward 您的 rabbitMq 的端口到您的 php 容器中。
【讨论】: