Забавно, я изучал различные подходы к этому только вчера, когда потребовалась команда RabbitMQ
для запуска рядом с моим приложением на базе Symfony.
Моей первой мыслью было разделить контейнеры, так как они действительно кажутся независимыми, в конце концов, они будут нацелены на один и тот же сервер СУБД.Но у меня в голове была проблема с необходимостью полной копии моего приложения в каком-то контейнере, используя только небольшую его часть, поэтому я повернулся к тому, чтобы иметь только один контейнер.
Общая идея - сменить докерзапуск CMD
, поэтому он запускает не php-fpm
, а supervisor
.Тогда одна из supervisor
программ должна быть исходным сценарием запуска Docker, а другая может быть вашей командой.Я не уверен, есть ли какие-то ответные удары от этого, но мне приходит в голову то, что в случае сбоя php
вы положитесь на supervisor
, чтобы вернуть его.Если это не помогает, вы застряли в вере, что все в порядке, но на самом деле это не так.
Идея сверху очень хорошо описана здесь: http://www.inanzzz.com/index.php/post/6tik/using-supervisor-withing-docker-containers
Надеюсь, это поможет...