繁体   English   中英

无法使用 Dockerfile 连接到 docker 容器(python 服务器)

[英]Can not connect to docker container(python server) with Dockerfile

我正在研究 docker。

我使用 docker 并使用 Dockerfile 运行 python 服务器。

这是我的 python 名称 app.py:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return "hello docker"
if __name__ == '__main__':
    app.run()

 app.run(host="0.0.0.0", port=5000)

我在 VirtualBox 中运行并使用 centos7。

如果我不添加

host="0.0.0.0", port=5000

我无法连接到http://192.168.1.6:5000/ (这是我的虚拟 IP)

但是现在当我使用 Dockerfile 并运行此命令时,我无法连接到服务器。

这是我的 Dockerfile:

FROM python:2.7
LABEL maintainer ="me <me@gmail.com>"
RUN pip install flask
COPY app.py /app/
WORKDIR /app
EXPOSE 5000
CMD ["python","app.py"]

我检查容器

            "Gateway": "172.17.0.1",
            "IPAddress": "172.17.0.2",

它是成功的。 但我无法连接到http://192.168.1.6:5000/

我还将防火墙设置为打开端口 5000 并重新加载。

为什么我可以连接到我的虚拟机?

EXPOSE实际上并不发布端口。 您应该使用-p选项运行以发布map端口:

docker run --detach -p 5000:5000 <image>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM