我用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