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

我有一个小型的Web应用程序运行在烧瓶服务器上,通常可以在本地主机上运行,​​通过运行app.py。 我想在Docker容器中运行它,所以我不能使用本地主机。 另一种方法是使用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"] 

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

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

现在,如果您的机器可以从networking中的其他机器访问,那么他们需要使用http://<yourreachablemachineip>:5000 。 另外,如果由于某种原因需要代理,那么您将需要将该代理应用到docker守护程序,而不是在docker容器内部。 看到下面的线程更多的细节相同

查找registry-1.docker.io:没有这样的主机