Docker部署Flask


Flask+Docker+Gunicorn部署

嘗試了好幾天,終於部署成功了(tip:坑還是很多的)
首先需要了解的有:Flask框架、Docker、Gunicorn、以及Python


第一步: 建議大家現在本地調試,我也從本地調試開始

1.創建一個新的venv並且安裝依賴包(如果你都已經裝好了可以直接進入虛擬環境開始操作)

創建Venv方法: $python3 -m venv ~/venv 

2.進入venv環境
  • . ~/venv/bin/activate
3.安裝所需依賴包
  •  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gevent gunicorn flask wheel 
4.在你安裝Flask的時候會生成一個FLASK_APP的方法,接下來可以嘗試運行你的Python腳本
  •  $ export FLASK_APP=Flask項目入口文件 
     $ flask run 

\color{red}{TIP:進入你Flask項目的根目錄里面,然后執行這個,否則 會出現找不到模塊的錯誤。}


5.如果一切正常,你應該看到你的應用程序在已經5000端口運行了,出現問題的話,可以查看一下自己的路徑

第二步:將項目打包后使用Gunicorn運行

1.使用Distutils來打包整個Flask項目,目的是方便我們通過pip來安裝我們的應用了,這個不是必須的步驟。
from distutils.core import setup

setup(name='名稱', 

version='1.0.0',

description='This is a demo to show how to run a flask app in docker',

author='Jmt',

author_email='958195812@qq.com', 

url='http://jmt.com', 

packages=['項目位置'] )
  • \color{red}{TIP:這里的name 一定要定義准確因為使用Gunicorn運行要對應上,packages需要找到這個項目的整體,保證路徑准確。}
2.配置gunicorn文件[gunicorn.conf.py]用來做啟動命令
workers=10

worker_class="gevent"

bind="0.0.0.0:8888"
3.我們然后用pip將我們的應用程序安裝到剛剛創建的VENV中
  •  $ pip install . 
4.使用Gunicorn來運行這個包
  •  $ gunicorn name:app -c ./gunicorn.conf.py 

TIP:這里的name就是打包好的項目的名稱->注意后面gunicorn.conf.py的路徑

5.現在就可以

訪問你的網址了接口為8888 到這里本地測試基本就完成了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM