Flask REST API项目示例,包含JWT认证、RABC、rq异步任务、Swagger文档、Docker部署、uwsgi、supervisor……
执行sh init.sh PROJECT_NAME
build.sh
和docker-compose.yml
中镜像版本,执行sh build.sh
构建镜像docker-compose up -d
启动容器docker exec -it flask-api-demo bash
进入容器supervisorctl stop app
停止服务,并执行flask run
或python wsgi.py
进入开发者模式CHANGELOG.md
中记录版本日志,重新执行第一步发布镜像进入容器后使用supervisorctl status
进程状态
# supervisorctl status
app RUNNING pid 8, uptime 3 days, 5:35:50
worker RUNNING pid 10, uptime 3 days, 5:35:50
停止进程:supervisorctl stop app
启动进程:supervisorctl start app
查看日志:tail -f /data/log/webapp.log
查看日志:tail -f /data/log/worker.log
创建flask
网络:docker network create flask
可能遇到网络冲突问题,解决方法:
删除网络:docker network rm flask
创建网络时指定掩码和网关:
docker network create --subnet=192.168.0.0/24 --gateway=192.168.0.1 flask
准备docker-compose.yml
, 注释源码挂载:- "./:/work"
启动服务:docker-compose up -d
数据库迁移:
初始化数据库:
flask init_db
vim /etc/docker/daemon.json
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"data-root":"/data/docker_data",
"bip":"192.168.0.1/24"
}