Docker запущен, но я не могу получить доступ к localhost - приложение Flask - PullRequest
1 голос
/ 03 октября 2019

Я создал приложение Flask и пытаюсь запустить его в файле Docker.

Я запускаю две команды:

1)

docker build -t my-api-docker:latest .

2)

docker run -p 5000:5000 my-api-docker 

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

 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

ОДНАКО

Если я посещаю: http://localhost:5000 если показать, что:

Страница не работает

needs.txt

Flask==1.1.1
requests==2.20.1
pandas==0.23.4

Dockerfile

FROM python:3.7
RUN pip install --upgrade pip

COPY ./requirements.txt /app/requirements.txt

WORKDIR /app

RUN pip install -r requirements.txt

COPY . /app

EXPOSE 5000

CMD [ "flask", "run" ]

1 Ответ

2 голосов
/ 03 октября 2019

Он не должен связываться с контейнером localhost, т.е.

Работает на http://127.0.0.1:5000/ (нажмите CTRL + C, чтобы выйти)

изменить CMD в Dockerfile

CMD [ "flask", "run", "--host=0.0.0.0" ]

или

CMD ["python3", "-m", "flask", "run", "--host=0.0.0.0"] 

или замените внутренний код

app.run(host='0.0.0.0').
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...