tradingSystem/docker-compose.dev.yml

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