Docker部署Flask應用

利用Docker部署Flask應用

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

  • COPY:COPY時,只將文件夾內容拷貝至WORKDIR中,不會拷貝flaskapp這個文件夾
  • EXPOSE:對外暴露5000端口
  • CMD:容器運行時執行shell的命令,這裏使用gunicorn做爲wsgi服務器

alt 目錄結構

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

build鏡像

啓動容器

4.此時在瀏覽器輸入:127.0.0.1:5000,便可訪問到容器內的flask應用了。shell

訪問flask

相關文章
相關標籤/搜索