Запуск приложения Flask в Docker с ошибкой «не удается установить соединение»? - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь получить доступ к веб-странице фляги на моем хост-компьютере. Я попробовал два разных метода, чтобы сделать эту работу. Тем не менее, для обоих методов я получаю can’t establish a connection to the server at localhost:5000. Я пытался получить доступ из 0.0.0.0:5000, localhost:5000 и 127.0.0.1, но ни одна из них не работает.

  1. Запуск непосредственно из каталога web.

    docker build --tag my-python-app . docker run --name python-app -p 5000:5000 my-python-app

  2. Запуск docker-compose из каталога flask-compose-sample.

    docker-compose up --build

Структура каталога:

flask-compose-sample
  - web
    - app.py
    - Dockerfile
    - requirements.txt
  - docker-compose.yml

app.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def index():
    return "Welcome to the Data Science Learner!"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=int("5000"), debug=True)

Dockerfile

FROM python:alpine3.7
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD python app.py

needs.txt

flask==0.10.1

docker-compose.yml

web:
  build: ./web
  ports:
   - "5000:5000"
  volumes:
   - .:/code

1 Ответ

0 голосов
/ 06 ноября 2019

Простой ответ. Я не нашел этот ответ во многих других сообщениях, которые я искал, так что, надеюсь, это поможет кому-то еще.

Если вы используете Docker Quickstart Terminal, как я, он не использует локальный IP-адрес. Вместо этого он имеет свой собственный IP 192.168.99.100. Использование этого вместо localhost заставляет все работать.

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