Docker не дает ошибок, но не выводит на консоль - PullRequest
0 голосов
/ 27 февраля 2020

Привет, у меня есть приложение Flask, на котором я работаю docker. При запуске приложения я не получаю ошибку, но и не выводить тоже. Курсор продолжает мигать. Что-то происходит в фоновом режиме? Как я могу проверить логи?

РЕДАКТИРОВАТЬ:

Привет у меня есть приложение Flask - Docker. Если я использую следующее, приложение работает нормально на docker:

 app.run(debug=True, port=5000, host='127.0.0.1')

Однако, если я использую следующее, Docker застревает:

app_server = gevent.pywsgi.WSGIServer('0.0.0.0:5000', app)
app_server.serve_forever()

Если я запускаю без Docker, оба работают нормально.

DOCKERFILE:

FROM python:3.6
COPY . /root/
WORKDIR /root/
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python","app.py"]

Команды для сборки и запуска:

docker image build -t prj .

docker container run --publish 5000:5000 --name clf clf

РЕДАКТИРОВАТЬ 2 I изменил dockerfile так:

FROM python:3.6
RUN mkdir /code  
ENV PYTHONPATH /code
WORKDIR /code  
ADD . /code/  
RUN pip install -r requirements.txt
EXPOSE 5000
ENTRYPOINT ["/bin/bash"]
CMD ["run.sh"]

Я также добавил файл run. sh, содержимое которого:

flask run --host=127.0.0.1 --port=5000

, и я использую сервер WSGI вместо app.run () как я хочу.

Консоль теперь показывает, что приложение работает на 127.0.0.1:5000, как и ожидалось. Однако эта ссылка все еще недоступна из браузера.

1 Ответ

0 голосов
/ 27 февраля 2020

flask запускается по умолчанию на порту 5000.

Попробуйте выполнить, как указано ниже.

docker run -d -p 5000:5000 YOUR-FLASK-APPLICATION.

Скопируйте указанную выше команду из ссылки ниже, если ссылка отключается в будущее.

Go до раздела "Дополнительная информация"

https://runnable.com/docker/python/dockerize-your-flask-application

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...