下面是我的 DockerFile:
FROM python:3.8.5
COPY . /usr/app/
EXPOSE 5500
WORKDIR /usr/app/
RUN pip install -r requirements.txt
CMD python app.py
我正在使用命令“docker run -p 5500:5500 api_name
”运行此容器,之后我在 cmd 中收到以下消息:
C:\Users\win10\Documents\ML files>docker run -p 5500:5500 api_name
我尝试访问 http://127.0.0.1:5000/ 或 http://127.0.0.1:5500/,但“无法访问此站点”。 PS:我在 Windows 上使用 docker 桌面
答案 0 :(得分:0)
如果不检查您的 app.py
文件,就很难确定。
但是,很可能您的应用没有侦听正确的端口或正确的绑定主机。默认情况下,flask 应用程序监听 127.0.0.1
,当在 docker 容器内运行时,您需要使用 0.0.0.0
app.run(host='0.0.0.0')
这是一个工作示例
FROM python:3.8.5
COPY . /usr/app/
EXPOSE 5000
WORKDIR /usr/app/
RUN pip install flask
CMD python app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(host='0.0.0.0')
$ docker build -t temp
$ docker run -p 5000:5000 temp