我正在研究码头工人。
我使用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 <[email protected]>"
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并重新加载。
为什么我可以连接到我的VM?
EXPOSE
实际上没有发布端口。您应该使用EXPOSE
选项运行,以便publish和map端口:
-p