Я создал Dockerfile для изображения для запуска PHP7 на FPM + Nginx, но я не могу заставить изображение правильно запускать службы.Как запустить сервисы на образ Docker?
Как это должно быть сделано точно?
Вот та часть, где я это делаю в данный момент:
CMD service php7-fpm start; \
service php7-fpm status; \
service nginx start; \
service nginx status
бу. Кажется, супервизор - это ответ. но почему бы не начать работу CMD service nginx? – igorsantos07
, как указано выше, не работает, потому что Docker ожидает, что приложения будут работать на переднем плане. когда вы запускаете приложение в качестве услуги, оно запускается в фоновом режиме, и контейнер выходит. поэтому, если вы хотите, чтобы контейнер не вставал, когда вы ходите «docker run -td mycontainer», вам нужно убедиться, что служба работает на переднем плане, а не как служба. Кроме того, если вы просто хотите запустить nginx, и больше ничего не можете пойти: 'CMD [" nginx "," -g "," daemon off; "]', еще раз заметив, что процесс не демонанизирован, а работает на переднем плане. –
Получил! Я думал, что «докер должен быть одним процессом env», вы имели в виду, что это соглашение, а не техническое ограничение. – igorsantos07