Q: У меня есть контейнер с запущенным 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
контейнер.
https://docs.docker.com/compose/compose-file/#expose
https://docs.docker.com/compose/compose-file/#depends_on