2.2 KiB
2.2 KiB
PMFlow Docker 机器级执行方案(本机 + 服务器)
1. 目标
- 统一本机运行入口,避免本地
venv与 Docker 混用导致环境漂移。 - 固化 Docker 日常运维动作:启动、重启、状态、健康检查、日志查看。
- 固化跨服务器部署动作,支持最小人工步骤完成上线。
2. 当前基线(执行前)
- 项目目录:
/Users/yuuuu/Documents/AIProjectManger - 编排文件:
docker-compose.yml - 服务集合:
db+redis+backend+frontend - 容器映射端口:
5435/6379/8000/5174
3. 执行任务
- T1: 新增本地 Docker 运维脚本
scripts/docker_stack.sh - T2: 新增远程部署脚本
scripts/deploy_remote_docker.sh - T3: 新增部署说明
docs/docker-server-deploy.md - T4: 执行本机健康检查并记录结果
4. 执行命令(标准)
bash scripts/docker_stack.sh start
bash scripts/docker_stack.sh health
bash scripts/docker_stack.sh status
5. 服务器部署命令(标准)
bash scripts/deploy_remote_docker.sh <host> <user> </opt/pmflow>
6. 验收标准
docker compose ps中 4 个服务均为Up,关键服务健康状态为healthy。http://127.0.0.1:8000/healthz返回成功。- 运维脚本可重复执行,重入安全(多次执行不报错)。
- 远程部署脚本可完成:同步代码 -> 启动 compose -> 输出服务状态。
7. 回滚方案
- 停止容器:
bash scripts/docker_stack.sh stop - 恢复本地非 Docker 模式:执行项目原
start.sh - 远程回滚:在目标机器执行
docker compose down,并切换到上一个代码版本
8. 执行回填
- T1: done,新增
scripts/docker_stack.sh(支持 start/restart/stop/status/logs/health) - T2: done,新增
scripts/deploy_remote_docker.sh(支持 rsync + 远程 compose 部署) - T3: done,新增
docs/docker-server-deploy.md(部署与排障说明) - T4: done,本机执行通过:
bash scripts/docker_stack.sh startbash scripts/docker_stack.sh healthbash scripts/docker_stack.sh statuscurl http://127.0.0.1:8000/healthz返回code=0