Docker - 在代理上运行Flask Web应用程序

时间:2017-09-04 15:26:23

标签: python docker flask proxy

我在一个烧瓶服务器上运行一个小型Web应用程序,通常可以通过运行app.py在本地主机上运行。我想在docker容器中运行它,所以我不能使用localhost。另一种方法是使用0.0.0.0,它可以正常工作,但是当我在我的工作代理上时这不起作用。

我怎么能解决这个问题?

app.py

from flask import Flask, render_template
app = Flask(__name__)


@app.route("/")
def main():
    return render_template('index.html')

if __name__ == "__main__":
    app.run(host='0.0.0.0')

Dockerfile

FROM python:2.7.13

ADD . /code
WORKDIR /code

RUN pip install Flask --proxy=[proxy]

CMD ["python", "app.py"]

1 个答案:

答案 0 :(得分:1)

您不需要在容器内使用代理。无论需要什么,都将在容器/图像的外部。无论您是在企业环境中还是在家中运行。

使用docker run -p 5000:5000 <yourimage>时。它将端口5000从容器内部映射到计算机上的所有接口。

现在,如果您可以从网络中的其他计算机访问计算机,那么他们需要使用http://<yourreachablemachineip>:5000。此外,如果由于某种原因需要代理,那么您将需要将该代理应用于docker守护程序而不是Docker容器内。有关相同的

的更多详细信息,请参见下面的主题

lookup registry-1.docker.io: no such host