执行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
-
数据库迁移:
- docker exec -it flask-api-demo bash
- flask db init -d /data/data/migrations
- flask db migrate -d /data/data/migrations
- flask db upgrade -d /data/data/migrations
-
初始化数据库:
flask init_db
-
vim /etc/docker/daemon.json
- default-runtime:修改默认运行时为nvidia
- data-root:修改数据存储路径
- bip:修改网卡地址
{ "default-runtime": "nvidia", "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "data-root":"/data/docker_data", "bip":"192.168.0.1/24" }