我刚开始使用Docker。我已经安装了适用于Windows的Docker Toolbox。我正在尝试使用Flask应用程序来了解其工作原理。但是我被卡住了!我试图像http://docker-machine-ip : port number
那样访问我的应用,但每次我都这样做,我得到了{docker-machine ip}拒绝连接。'
在构建和部署阶段期间,我没有例外。我也docker ps
看到容器正在运行。我甚至试图通过Kitematic访问它,但仍然没有运气。以下是与应用程序相关的详细信息
app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Flask inside Docker shakel!!"
if __name__ == "__main__":
app.run(debug=True,host='0.0.0.0')
requirements.txt
flask
Dockerfile
FROM python:2.7
MAINTAINER Shekhar Gulati "shekhargulati84@gmail.com"
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
ENTRYPOINT ["python"]
CMD ["app.py"]
我用于构建和运行的docker命令是:
docker-machine ip default //To get docker machine ip
docker build -t flask-app .
docker run -d -p 6000:6000 flask-app
我有Windows 7 64位。如果需要更多信息,请告诉我。
P.S。 但是我注意到,如果我将容器映射到5000端口,它将运行正常,但在任何其他端口上我得到连接被拒绝
我不知道我在这里失踪了什么。这是我在Docker的第一次尝试,我用google搜索了4个小时来找到解决方案,但没有任何工作。所以这可能是我在某处做的一个非常愚蠢的错误:)。无论如何任何帮助都非常感激。提前谢谢。
答案 0 :(得分:1)
那是因为您没有为烧瓶应用程序设置端口,默认情况下为端口5000
。
port - 网络服务器的端口。默认为5000或SERVER_NAME配置变量中定义的端口(如果存在)。