Я новичок в Docker и Python. Я создал простое приложение на Python, используя Flask. Я хотел бы запустить его в контейнере Docker. Контейнер Docker показывает, что он работает. Однако когда я получаю доступ к URL, я получаю localhostне отправил никаких данных.
Docker-контейнер ls показывает, что мой контейнер работает на локальном хосте и порт № 8081
app.py
from flask import Flask, redirect, url_for, request
app = Flask(__name__)
@app.route("/hello", methods=["GET","POST"])
def hello():
return "Hello World!"
if __name__ == '__main__':
app.run(debug=True, port=8081,host='0.0.0.0')
Dockerfile
FROM python:2.7
ADD app.py /
RUN pip install flask
EXPOSE 8081
CMD ["flask", "run", "--host=0.0.0.0"]
CMD ["python", "app.py", "--host=0.0.0.0"]
Когда я запускаю тот же app.py в моей локальной среде. Я получаю нужные данные по локальному URL. Может ли кто-нибудь направить меня в правильном направлении?
Изображение помечено dockerimage:latest
, и я запускаю его с помощью:
docker run -it -p 8081:8081 dockerimage
И проверка контейнера с помощью docker container ls
показывает:
0.0.0.0:8081->8081/tcp