我正在尝试什么:我正在尝试使用 docker 运行一个简单的 flask 应用程序。使用 this网站作为引用。
我的 docker 文件:
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)
要求.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
.令我惊讶的是在容器内工作 . 谁能指出我错过了什么?我对此很陌生。蒂亚:)
最佳答案
我猜它只在容器中的本地主机(默认值 host='127.0.0.1'
)上运行。尝试使用所有接口(interface)(host='0.0.0.0'
):
if __name__ == '__main__':
app.run(port=5000, debug=True, host='0.0.0.0')
关于python - flask 在容器内工作,但当我将其转发时却没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52604864/