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:没有这样的主机
- Docker抱怨ALL_PROXY环境variables“proxy:unknown scheme:http”
- 如何在nightwatch.jstesting中自动执行HTTP AUTH PROXY POP UP
- yum更新/ apk更新/ apt-get更新不在代理后面工作
- 将docker图像拖放到代理之后
- Docker:无法在企业代理初始设置时获取最新的Boot2Docker ISO发行版本
- Docker:hashicorp / boot2docker无法下载公司代理
- Nexus 3docker代理到v1代理不工作(使用v2 api调用)
- 将代理添加到节点主机时如何获取Rancher脚本代码?
- 通过nginx代理的owncloud docker可以encryption