У меня есть приложение фляги, и я пытаюсь запустить его внутри контейнера докера с помощью gunicorn.
Это мой dockerfile
FROM python:3.6
WORKDIR /app
COPY ./requirements.txt /.requirements.txt
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install -r requirements.txt
EXPOSE 8000
ENV FLASK_APP=<some_name>
ENV FLASK_ENV=development
CMD gunicorn -b :8000 -w 4 app:app
Вот так я запускаю контейнер-
docker run <name>
И вот как я это тестирую -
curl -X POST http://172.17.0.2:8000/login -H 'cache-control: no-cache' -H 'content-type: application/json' -d '<SOME_PAYLOAD>'
curl: (7) Failed to connect to 172.17.0.2 port 8000: Operation timed out
Я просмотрел пару ответов на этом сайте
Насколько я могу судить, я
- Выставление порта
- Удар по правильному IP
- Удар по правому порту намой хост-компьютер
- Сопоставление порта моего хост-компьютера с моим док-контейнером.
Почему истекает время ожидания этой операции?
Я также пытался
CMD gunicorn -b 0.0.0.0:8000 -w 4 app:app
, который должен отображать все docker run -p 8000:8000 iterative
, который должен форсировать сопоставление между портами на хосте и контейнере.
Но нетбезрезультатно.
На моем компьютере приложение работает нормально.
Почему он не работает в док-контейнере?