запустить uwsgi после запуска официального контейнера nginx? - PullRequest
0 голосов
/ 11 октября 2018

Я просто пишу настроенный контейнерный докер-файл, включающий CMD["uwsgi", "--ini", "uwsgi.ini"] на основе официального образа nginx

И я вижу, что в конце Dockerfile этого официального изображения nginx есть CMD["nginx", "-g", "daemon off"].

Это должно означать запуск nginx при запуске контейнера.Таким образом, мой CMD["uwsgi", "--ini", "uwsgi.ini"] в моем dockerfile переопределит его, поэтому контейнер немедленно выйдетКак мне не переопределить его и заставить работать как nginx, так и uwsgi?

Я много гуглил, но ни одно из этих решений не основано на официальном имидже nginx.Очевидно, что я могу запустить другой контейнер только для uwsgi и подключить его к контейнеру nginx (т.е. к контейнеру, запускаемому официальным изображением nginx), но я думаю, что это хлопотно и ненужно.

официальное изображение nginx здесь

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Во-первых, это не философия докера - запускать 2 процесса в одном контейнере.Это общепринятый вариант: officialy и через сообщество

Таким образом, вы бы предпочли создать стек как с nginx, так и с вашим приложением.

Если вы действительно хотите или должны делать это по-своему, вы можете передать несколько команд в инструкции CMD , если вы сначала зададите командную оболочку ... но вы также можете использовать script здесь.
Помните, что сценарий будет выполняться изнутри вашего контейнера, поэтому подумайте о POV контейнера, а не о хосте!

0 голосов
/ 11 октября 2018

Вы можете использовать ENTRYPOINT или CMD для запуска нескольких процессов внутри контейнера, передавая скрипт / оболочку оболочки.Вы должны попытаться воздержаться от этого, так как это не лучшая практика.Один контейнер должен отвечать за управление одним процессом.

Однако существует обходной путь, с помощью которого вы можете управлять несколькими процессами внутри контейнера, т. Е. С помощью оболочки сценариев оболочки или supervisor .
Он есть в официальномдокументы -
https://docs.docker.com/config/containers/multi-service_container/

...