外观
日常运维与升级
约 502 字大约 2 分钟
常用命令
在部署目录执行:
docker compose --env-file .env ps
docker compose --env-file .env logs -f --tail=200 gateway user-service generation-service
docker compose --env-file .env logs -f --tail=200 media-service workspace-service workflow-service
docker compose --env-file .env logs db-migrate
docker compose --env-file .env logs -f --tail=200 nginx服务日志默认写入容器标准输出,并由 Docker 按 DOCKER_LOG_MAX_SIZE 与 DOCKER_LOG_MAX_FILE 轮转。生产日志应集中采集,并设置保留与告警策略。
备份与恢复准备
- 每次升级或执行数据库迁移前,先备份 MySQL 并验证恢复步骤。
- 使用内置 MySQL 模式时可调用
deploy/scripts/backup-mysql.sh;外部 MySQL 应使用数据库平台自身的备份机制。 - 对象存储中的上传资产和生成结果需要独立纳入备份或生命周期策略。
- 妥善备份
.env和证书,但不得把它们纳入代码仓库。
升级顺序
- 记录当前版本和服务状态,备份数据库与配置。
- 在开发机构建并检查新的发布包。
- 上传发布包到部署目录,先查看配置差异并保留旧包作为回滚来源。
- 执行
docker compose --env-file .env config --quiet。 - 先运行
db-migrate,确认升级迁移完成,再启动业务服务。 - 验证登录、用户端、管理端、上传、最小生成任务和支付回调路由。
- 监控错误率、任务堆积、数据库连接与上游调用成本。
数据库迁移原则
- 只使用
db-migrate执行生产 DDL;应用服务启动迁移必须关闭。 - 永远新增
up/down成对迁移,不修改已发布迁移。 - 共享库和生产库禁止执行
down、drop或force。 - 大型数据变更使用可恢复、可观测的分批脚本,并在低峰期执行。