无法使用 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
选项 运行 以便 发布 和 映射 端口:
docker run --detach -p 5000:5000 <image>
我正在研究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
选项 运行 以便 发布 和 映射 端口:
docker run --detach -p 5000:5000 <image>