docker container測試flask,無法於外部Host瀏覽

 我用Docker來測試及學習Flask,container有將Port mapping:5000:5000

test.py的內容如下,是一段簡單的程式:

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello_world():

    return "<p>Hello, World!</p>"

if __name__ == "__main__":

    app.run(debug=True, host='0.0.0.0', port=5000)

因為在討論區上有人提到flask預設會只能使用localhost,所以我有加上host='0.0.0.0'

接著我執行下列的指令來啟動Web Server:

# export FLASK_APP=test

# flask run


在docker container用crul http://127.0.0.1:5000來測試,有正確出現Hello,World的訊息。

但是在Host端用瀏覽器開啟http://192.168.1.1:5000(192.168.1.1是Host的IP)卻無法顯示網頁。


接著在討論區上又看到有人提到新版本要以python加參數來啟動flask,所以我依樣輸入下列指令:

# export FLASK_APP=test

# python3 -m flask run --host='0.0.0.0'


再次以瀏覽器開啟http://192.168.1.1:5000,這次就正確出現Hello,World