Gunicorn работает сам по себе, но не в док-контейнере - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь запустить Gunicorn внутри док-контейнера, вот мой файл докера

FROM python:3.6-alpine

RUN pip install gunicorn

COPY . /app

EXPOSE 8000


ENTRYPOINT ["gunicorn", "-c", "/app/etc/gunicorn.py", "backend:app"]

Я пытался поменять backend:app на app:app app:backend и т. Д., Но ничего не работает, это всегда выдает ошибкуи выводит

Failed to find application object 'app' in 'app'

После его создания я запускаю:

docker run -it -p 8000:8000 backend:latest bash

Вот структура папок, из которой я копирую в /app к.

│   main.py
│   requirements.txt
│
├───backend
│   │   __init__.py
│   │
│   ├───cards
│   │      cards_views.py
│   │      __init__.py
│   │
│
└───etc
        gunicorn.py
        nginx.conf

Если я бегу:

gunicorn -c /backend-flask/etc/gunicorn.py backend:app

За пределами контейнера он работает отлично.Так что это должно быть что-то с моей структурой папок, но я не могу понять это.

1 Ответ

0 голосов
/ 04 февраля 2019

Добавление:

pip install -r /app/requirements.txt

в файл Dockerimage решило проблему, что и при использовании:

docker run -it --entrypoint=sh [my container]

окончательный файл dockerfileвыглядит так:

FROM python:3.6-alpine

RUN pip install gunicorn

COPY . /app

RUN pip install -r /app/requirements.txt

EXPOSE 8000


ENTRYPOINT ["gunicorn", "-c", "/app/etc/gunicorn.py", "backend:app"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...