1.首先準備一個小型的flask應用,以下。夠簡單吧!注意本次部署沒有涉及到數據庫及nginx代理等,實際狀況下,應該是將這些服務部署到不一樣的服務器中。html
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return app.send_static_file('index.html') if __name__ == '__main__': app.run()
<!-- index.html文件內容 --> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Index</title> </head> <body> <h1>hello world!</h1> </body> </html>
2.在項目目錄下建立並編寫Dockerfile文件,名字不能錯啊。因爲這個flask應用涉及的python包比較少,就沒有製做requirements.txt文件。如下是項目目錄結構與Dockerfile文件的內容:python
FROM python:3.8 WORKDIR /flask_test COPY flaskapp . RUN pip install flask gunicorn gevent EXPOSE 5000 CMD gunicorn -w 2 app:app
3.shell終端cd到flask_test目錄下,首先執行建立鏡像命令。建立成功後,根據鏡像,將容器運行起來。nginx
docker build -t flask_app . docker run -it --name flask_container -p 5000:5000 flask_app
執行結果以下:docker
4.此時在瀏覽器輸入:127.0.0.1:5000,便可訪問到容器內的flask應用了。shell