我正在尝试的是:我正在尝试使用docker运行一个简单的flask应用程序。以this网站为参考。
我的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)
requirements.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:)
答案 0 :(得分:5)
我猜它仅在容器中的localhost(默认值host='127.0.0.1'
)上运行。尝试使用所有接口(host='0.0.0.0'
):
if __name__ == '__main__':
app.run(port=5000, debug=True, host='0.0.0.0')
答案 1 :(得分:3)
尝试使用以下方法在每个界面上收听:
app.run(host='0.0.0.0', port=5000, debug=True)