40 lines
1.5 KiB
YAML
40 lines
1.5 KiB
YAML
|
|
# 开发/联调机专用: 把源码目录挂进容器, 改完代码不用重新 build。
|
||
|
|
#
|
||
|
|
# 为什么不直接写进 docker-compose.yml: 挂载会让容器跑的是**磁盘上的代码**, 而不是镜像里的
|
||
|
|
# 代码。开发机上这正是想要的 (git pull 完 restart 一下就生效); 生产机上则相反 —— 部署的
|
||
|
|
# 东西必须等于构建出来的东西, 否则"这台跑的到底是哪版"永远说不清。
|
||
|
|
#
|
||
|
|
# 用法 (只在开发/联调机上做一次):
|
||
|
|
# cp docker-compose.dev.yml docker-compose.override.yml
|
||
|
|
#
|
||
|
|
# docker compose 会自动加载 docker-compose.override.yml, 之后:
|
||
|
|
# git pull && docker compose restart # 改 Python 代码, 秒生效
|
||
|
|
# ./scripts/deploy.sh # 改了 requirements.txt 才需要重建
|
||
|
|
#
|
||
|
|
# override 文件已在 .gitignore 里, 不会被带到生产机。
|
||
|
|
#
|
||
|
|
# 注意:
|
||
|
|
# * 依赖装在镜像的 site-packages 里, 不在 /app —— 挂载不会影响它。改 requirements.txt
|
||
|
|
# 仍然必须 build。
|
||
|
|
# * Dockerfile 设了 PYTHONDONTWRITEBYTECODE=1, 不会往你的源码目录里拉 __pycache__。
|
||
|
|
# * pms-ws 改动**仍需 restart** —— 挂载省掉的是 build, 不是进程重启, 它是常驻连接进程,
|
||
|
|
# 不会自己重载模块。
|
||
|
|
|
||
|
|
services:
|
||
|
|
pms-web:
|
||
|
|
volumes:
|
||
|
|
- .:/app
|
||
|
|
- ./logs:/app/logs
|
||
|
|
pms-beat:
|
||
|
|
volumes:
|
||
|
|
- .:/app
|
||
|
|
- ./logs:/app/logs
|
||
|
|
pms-worker:
|
||
|
|
volumes:
|
||
|
|
- .:/app
|
||
|
|
- ./logs:/app/logs
|
||
|
|
pms-ws:
|
||
|
|
volumes:
|
||
|
|
- .:/app
|
||
|
|
- ./logs:/app/logs
|