OSX上的Docker应用程序连接被拒绝

时间:2016-04-09 16:20:23

标签: python macos flask docker port

我正在搞乱Docker(使用Docker Toolbox for OSX)并且似乎无法让我的应用程序工作。这是一个简单的烧瓶应用程序,如下所示:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

现在我的Dockerfile包含以下内容

FROM python:2.7.11-wheezy

ADD ./application/* /opt/local/application/
ADD ./project-requirements.txt /opt/local/application/requirements.txt

RUN pip install -r /opt/local/application/requirements.txt

CMD ["/usr/local/bin/python", "/opt/local/application/app.py"]

EXPOSE 5000

我通过运行docker build -t python_app .来构建容器,然后通过运行docker -i -P python_app来启动容器,并看到应用程序在容器内启动,因为命令的输出是* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

现在,当我运行docker ps时,我可以看到容器正在运行

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                     NAMES
448defb349ce        python_app          "/usr/local/bin/pytho"   About a minute ago   Up About a minute   0.0.0.0:32769->5000/tcp   angry_jang

但是当我尝试卷曲容器时,我收到连接拒绝错误。

$ curl $(docker-machine ip default):32769
curl: (7) Failed to connect to 192.168.99.100 port 32769: Connection refused

我不知道我哪里出错,任何帮助都非常感谢!

1 个答案:

答案 0 :(得分:4)

我发现了这个问题,我不得不改变

app.run()

app.run(host='0.0.0.0')

app.py文件中。