# 开发/联调机专用: 把源码目录挂进容器, 改完代码不用重新 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