2015-10-01 51 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