学弟教程-Flask-Docker+uwsgi部署

相关教程

uwsgi部署Flask
gunicorn部署Flask

环境配置

  • 运行环境 : CentOS7
  • Python版本 : Python3.7
  • Docker版本 : Docker 19.03.12

使用Docker将本地Flask应用打包,并完成部署

1. 编写Flask

新建目录demo,进入;新建app.py文件,内容为

from flask import Flask


app = Flask(__name__)

@app.route('/')
def hello():
    return 'Docker deploy Flask'
    
if __name__ == '__main__':
	app.run()

2. 配置uwsgi

新建config.ini文件,内容为:

[uwsgi]
# 启动主进程,来管理其他进程
master = true

# 地址和端口号
http = :8000 

# app.py路径
wsgi-file =  app.py  

# uwsgi指定的是application,而flask中是app
callable = app

# 开启的进程数量
processes = 2

# 运行线程
threads = 8

# 设置用于uwsgi包解析的内部缓存区大小为64k。默认是4k
buffer-size = 32768

3. Dockerfile

新建Dockerfile文件,内容为:

# 所采用的基础镜像
FROM python:3.7

# 为镜像添加标签
LABEL version="v1" description="Docker deploy Flask" by="Dalao"

# 配置工作目录
WORKDIR /usr/src/app

# 在镜像容器中执行命令
RUN pip install Flask && pip install uwsgi -i https://pypi.tuna.tsinghua.edu.cn/simple/

# 将主机中目录内容拷贝到镜像目录下
COPY . .

# 容器启动时执行指令,每个Dockerfile只能有一条CMD命令
CMD ["uwsgi","config.ini"]

4. 构建

进入demo目录,执行:

docker build -t mydemo .
  • -t : 指定镜像名称,此处为mydemo
  • . 指定创建时的目录

5. 启动

docker run -itd -p 80:8080 mydemo

访问http://192.168.3.20

总结

  1. Flask应用的部署方式有gunicorn与uwsgi两种方式

  2. 目前windows尚不支持uwsgi包的使用

猜你喜欢

转载自blog.csdn.net/qq_41452937/article/details/107297355