Docker 备份
安排维护窗口,先停止四个应用组件,保留数据库运行:workspaces、artifacts 命名卷制作快照,保存 .env,并记录 SERVICE_VERSION、镜像 digest 和快照时间。备份目录应位于安装目录之外的受保护持久存储中。确认数据库备份与文件快照属于同一维护窗口后再启动应用。
升级
阅读新版本的迁移与兼容性说明,先在测试数据库副本上演练。完成备份后,Docker 修改.env 中的 SERVICE_VERSION,拉取镜像并重建容器;Helm 使用指定版本的 Chart 执行 upgrade。
Go 在启动时执行产品与运行状态迁移,Java 当前通过 Hibernate 更新表结构。组件镜像回退不保证旧版本可以读取新 schema。
恢复
需要回退数据时,先停止应用写入。在独立空数据库中恢复备份,恢复同一批 Workspace / Artifact 快照与原 Vault 密钥,再用备份对应的组件版本启动。不要把pg_restore --clean 指向仍在使用的业务数据库。
对新建的恢复数据库执行示例:
.env 设置 POSTGRES_DB 为恢复库名称,并使用原密钥和同批文件快照启动。数据库容器只在数据目录为空时初始化数据库;已有实例中的恢复库需要预先创建。