![](/img/trans.png)
[英]How can I connect to a server using python sockets inside a Docker container?
[英]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.