# 服务停止 Runbook ## 触发条件 - 计划维护 - 紧急故障处理 - 服务器关机 ## 警告 **停止服务前请确保:** - 已通知相关人员 - 已备份最新数据 - 已记录当前操作 ## 停止步骤 ### 1. 通知相关人员 在停止服务前,通知: - [ ] 管理员 - [ ] 开发团队 - [ ] 依赖该服务的下游系统 ### 2. 备份数据(可选) 如果是有计划的维护,建议先备份: ```bash # 执行备份 ./scripts/backup/backup.sh # 验证备份 ./scripts/backup/backup.sh --verify # 列出备份 ./scripts/backup/backup.sh --list ``` ### 3. 停止服务 ```bash # 优雅停止(等待现有请求处理完成) docker compose stop # 或者强制停止(立即终止) docker compose kill ``` ### 4. 确认服务已停止 ```bash # 检查容器状态 docker compose ps # 预期输出:没有运行的容器 ``` ### 5. 清理资源(如果需要) ```bash # 停止并移除容器(保留数据卷) docker compose down # 完全清理(包括数据卷 - 会丢失数据!) docker compose down -v ``` ## 维护期间的替代方案 如果需要短时间维护,可以: 1. **使用维护页面** ```bash # 配置 nginx 返回维护页面 # 参考 nginx 配置文档 ``` 2. **切换到备用服务器** ```bash # 在备用服务器启动服务 docker compose -f docker-compose.backup.yml up -d ``` ## 回滚步骤 停止后重新启动: ```bash # 重新启动 docker compose up -d # 验证服务 curl http://localhost:8080/api/v1/health ``` ## 紧急停止 如果遇到紧急安全事件: ```bash # 立即停止所有容器 docker compose kill # 阻止外部访问(防火墙) sudo ufw deny 8080/tcp ``` ## 联系人 - 运维负责人:[填写] - 安全团队:[填写]