Как правильно развернуть контейнеры Docker с супервизором в Jelastic

У меня есть простой образ Docker, построенный поверх Ubuntu с фиктивным приложением PHP Laravel. Я использую supervisord для запуска nginx и php-fpm. Пока все хорошо, все отлично работает на моей локальной машине или в любом месте, где существует исполняемый файл Docker.

Я пытаюсь запустить тот же образ в среде Jelastic, но получаю ошибки супервизора:

2017-01-21 14:34:30,283 INFO exited: cron (exit status 1; not expected) 
2017-01-21 14:34:30,333 INFO exited: fpm (exit status 78; not expected) 
2017-01-21 14:34:32,336 INFO spawned: 'cron' with pid 1216 
2017-01-21 14:34:32,338 INFO spawned: 'fpm' with pid 1217 
2017-01-21 14:34:32,341 INFO exited: cron (exit status 1; not expected) 
2017-01-21 14:34:32,386 INFO exited: fpm (exit status 78; not expected)

Я связался со службой поддержки, и они сказали мне, что cron и php-fpm уже запущены из-за systemd, поэтому они вошли в мой узел, что-то исправили, и теперь все работает.

Мне интересно, как это согласуется с лозунгом "Поддержка Native Docker™©" повсюду в документации.

В любом случае, я установил новый пример приложения для расследования службы поддержки (изображение - https://hub.docker.com/r/rozhok/jelastic-laravel-docker/ sources - https://github.com/rozhok/jelastic-laravel-docker), попытался развернуть его и вдруг все заработало нормально.

Итак, мои вопросы:

  1. Как избежать супервизора и системных столкновений при развертывании в Jelastic. Помните, я хочу иметь одно и то же изображение для всех моих сред, и я не хочу готовить "специальные" изображения для Jelastic.

  2. Есть ли какие-то другие предупреждения, о которых мы должны знать? Возможно, поддержка Docker должна быть описана немного подробнее.

1 ответ

Кажется, что вам нужно добавить только одну дополнительную строку в ваш Dockerfile:RUN systemctl отключить php-fpm, который отключит php-fpm от порождения вашего процесса systemd, ваш процесс будет определенно запущен супервизором, и это сделает образ быть совместимым как с Jelastic, так и с вашим док-хостом, работающим на вашем локальном компьютере.

Другие вопросы по тегам