除5000之外的所有端口都拒绝Docker连接

时间:2017-09-12 02:07:20

标签: python docker flask

我刚开始使用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个小时来找到解决方案,但没有任何工作。所以这可能是我在某处做的一个非常愚蠢的错误:)。无论如何任何帮助都非常感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

那是因为您没有为烧瓶应用程序设置端口,默认情况下为端口5000

来自flask documentation

  

port - 网络服务器的端口。默认为5000或SERVER_NAME配置变量中定义的端口(如果存在)。