我試圖在Docker容器中運行Python Flask Web服務器,但我無法從外部連接到Flask服務器。如何在Docker容器中運行Python Flask
我做了什麼:
我創建/temp/HelloFlask.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
我開始用集裝箱港口碼頭工人容器5000映射到主機5000端口,並與〜/臨時掛載到/溫度
docker run -it -p 5000:5000 -v ~/temp:/temp --name tf gcr.io/tensorflow/tensorflow:latest-devel
在正在運行的碼頭集裝箱內,我安裝了Flask並運行了HelloFlask.py
cd /temp
pip install Flask
python HelloFlask.py &
我驗證服務器是在容器內訪問
[[email protected]:/temp# curl localhost:5000
127.0.0.1 - - [22/Sep/2016 17:41:48] "GET/HTTP/1.1" 200 -
Hello World!
我使用泊塢版本1.12.1(編譯:12133),暴露在本地主機上的集裝箱港口,所以我應該能夠在我的Mac上訪問容器外部的localhost:5000
,但我無法連接。
我測試過以確保Docker通過運行一個nginx容器(如docker for mac quickstart中所述)正確地將容器端口綁定到本地主機,並且我可以通過本地主機從容器訪問端口。
我愛你!我一整天都在b my我的頭。謝謝! – 10GritSandpaper