Рейтинг:0

Не запускаются nginx и gunicorn в контейнере Docker

флаг es

Я новичок в Docker и стараюсь изо всех сил разобраться во всем, но серьезно борюсь с запуском gunicorn и nginx с моим Dockerfile. Всякий раз, когда я добавляю последние четыре строки, контейнер не загружается, а также вообще не выдает сообщения об ошибке.

ИЗ python:3.9-buster

ЭКСПОЗИЦИЯ 80

ЗАПУСТИТЬ подходящее обновление
ВЫПОЛНИТЬ подходящее обновление
RUN apt install nginx python3 python3-pip git swig python3-dev build-essential libmagic-dev -y
ВЫПОЛНИТЬ apt установить ffmpeg -y
ВЫПОЛНИТЬ mkdir /opt/xxx
ЗАПУСК git clone https://xxx:[email protected]/xxx/backend.git /opt/xxx/
ЗАПУСК mkdir /root/d12f
RUN python3 -m pip install --upgrade pip
КОПИРОВАТЬ .env /opt/xxx/xxx/.env
ЗАПУСК pip3 install -r /opt/xxx/requirements.txt
RUN pip3 установить пушку
ЗАПУСК git clone https://xxx:[email protected]/xxx/configs.git /root/configs/
ЗАПУСК cp /root/configs/nginx/default /etc/nginx/sites-available/.
ЗАПУСК mkdir /var/журнал/сельдерей/
CMD /usr/sbin/nginx -c /etc/nginx/nginx.conf
CMD /usr/local/bin/celery -A xxx --workdir /opt/xxx worker --loglevel=INFO -P prefork &
CMD /usr/local/bin/celery -A xxx --workdir /opt/xxx beat --schedule=/tmp/celerybeat-schedule --loglevel=INFO
CMD /usr/bin/gunicorn --chdir /opt/xxx --conf xxx:gunicorn_conf xxx:wsgi

Сборка работает, как и ожидалось, но работа с docker run -p 80:80 xxx:latest не работает.

Рейтинг:1
флаг jp

Докерфайл не является сценарием оболочки. Может быть только один CMD инструкция по Докерфайл (Справка). Демоны разветвления, такие как нгинкс который по умолчанию переключается в фоновый режим, немедленно завершает работу контейнера.

флаг es
Спасибо за ответ. Как лучше всего запускать эти демоны/процессы?
флаг jp
Лучше всего запускать эти демоны/процессы на переднем плане. Используйте отдельный контейнер для каждой службы/процесса.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.