2015-10-01 37 views
1

我在docker上创建了一个Python + Flask网站。如果我做“码头工作人员”,网站可在0.0.0.0:5000上找到。在Docker上运行python网站

我已经标记并将容器推送给码头工人,并且我尝试从另一台计算机执行docker run mydomain/mycontainer。它开始下载一切,但最后它显示Status: Downloaded newer image for mydomain/mycontainer:latest并没有任何反应。

我试着做docker run mydomain/mycontainer python app.py,它显示“正在http://0.0.0.0:5000上运行”,但是如果我打开那个网址,我会得到“本网站不可用”。我看不到5000端口上运行的任何进程。

任何想法?

+0

你尝试过清除码头工人的下载缓存并再次运行? http://sosedoff.com/2013/12/17/cleanup-docker-containers-and-images.html – mh00h

+0

是的。我用一些进一步的实验更新了我的问题 – Arturo

回答

3

ip 0.0.0.0是本地地址里面的码头图片。如果你想访问它以外的图像(即在你的计算机上的本地),你必须暴露给定的端口。这里是EXPOSE parameter documentation

如果运行命令:

docker run -p 5000:5000 mydomain/mycontainer python app.py 

您的服务器将可以访问上:

http://localhost:5000

0

BTW,我做了一个公开(开放源码)泊坞窗图像与所有的钟声以及您可以用来构建Python Flask Web应用程序的口哨声。

它具有运行应用程序的uWSGI,Nginx可以通过HTTP和Supervisord来控制它们,因此您不必学习如何安装和配置所有这些来构建Python Flask Web应用程序。

看起来像uWSGI和Nginx是部署Python Web应用程序的更强大(并且性能卓越)的方法之一。这里是基准:http://nichol.as/benchmark-of-python-web-servers

甚至有一些模板项目可以用来引导你自己。此外,您不必克隆整个项目或其他东西,只需将其用作基础映像即可。

泊坞枢纽:https://hub.docker.com/r/tiangolo/uwsgi-nginx-flask/

GitHub上:https://github.com/tiangolo/uwsgi-nginx-flask-docker