колба работает внутри контейнера, но не когда я перевожу его вперед - PullRequest
0 голосов
/ 02 октября 2018

Что я пытаюсь: я пытаюсь запустить простое приложение фляги, используя Docker.Используя этот сайт в качестве ссылки.

Мой dockerfile:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY ./app /app
WORKDIR /app
RUN pip install -r "requirements.txt"
ENTRYPOINT ["python"]
CMD ["app.py"]

Файл Python:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(port=5000, debug=True)

needs.txt:

Flask==1.0.2

Что я делаю:

  • изображение здания, используя docker build -t simple-flask2 .
  • , затем, начиная контейнер, используя docker run -p 5000:5000 simple-flask2
  • , когда я иду к localhost:5000, ничего не появляется.
  • Итак, я открыл контейнерный терминал, используя docker exec -it 3be bash, а затем сделал curl localhost:5000.К моему удивлению работал внутри контейнера .

Может кто-нибудь указать, что мне не хватает?Я довольно новичок в этом.TIA:)

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Я предполагаю, что он работает только на локальном хосте (значение по умолчанию host='127.0.0.1') в контейнере.Попробуйте использовать все интерфейсы (host='0.0.0.0'):

if __name__ == '__main__':
    app.run(port=5000, debug=True, host='0.0.0.0')
0 голосов
/ 02 октября 2018

Попробуйте прослушивать на каждом интерфейсе:

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