我构建了 Flask 应用程序,并尝试使其在 Docker 文件上运行。
我运行两个命令:
1)
docker build -t my-api-docker:latest .
2)
docker run -p 5000:5000 my-api-docker
两者都运行没有错误,终端上的输出是经典的 Flask:
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
但是
如果我访问:http://localhost:5000
如果表明:
block 引用>The page is not working
需求.txt
Flask==1.1.1 requests==2.20.1 pandas==0.23.4
Dockerfile
FROM python:3.7 RUN pip install --upgrade pip COPY ./requirements.txt /app/requirements.txt WORKDIR /app RUN pip install -r requirements.txt COPY . /app EXPOSE 5000 CMD [ "flask", "run" ]
最佳答案
它不应该与容器本地主机绑定(bind),即
Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
更改 Dockerfile 中的 CMD
CMD [ "flask", "run", "--host=0.0.0.0" ]
或
CMD ["python3", "-m", "flask", "run", "--host=0.0.0.0"]
或替换您的代码内部
app.run(host='0.0.0.0').
关于Docker 正在运行,但我无法访问 localhost - Flask 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58209583/