ubuntu – 无法从主机连接到Docker上的Flask应用程序[复制]

参见英文答案 > Deploying a minimal flask app in docker – server connection issues                                    3个
我已经设置了一个docker ubuntu 14.04图像,并且我使用以下命令运行它:

docker run -d -p 5000:5000 ari / python3-flask

Dockerfile:

FROM ubuntu:14.04
RUN apt-get update && apt-get install -y python3 python3-pip
ADD . /var/my_app
RUN pip3 install -r /var/my_app/requirements.txt
EXPOSE 5000
CMD ["python3","/var/my_app/runserver.py"]

但是,如果我尝试卷曲地址(localhost:5000)或在浏览器中访问它,我会收到连接失败错误.

容器的docker日志显示

Running on http://127.0.0.1:5000/

Restarting with reloader

我的泊坞窗设置和/或配置是否有问题?谢谢.

最佳答案
容器中运行的Web服务器正在侦听环回网络接口(127.0.0.1)的端口5000上的连接.因此,此Web服务器将仅响应源自该容器本身的http请求.

为了使Web服务器接受来自容器外部的连接,您需要将其绑定到0.0.0.0 IP地址.

当您使用Flask时,可以使用以下命令在runserver.py文件中轻松实现:

if __name__ == '__main__':
    app.run(host='0.0.0.0')

然后,当您启动容器并查看日志时,您应该看到如下内容

 * Running on http://0.0.0.0:5000/

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...