Docker 管理 · Go
应用保护
为 Compose 项目建立备份、恢复预检和安全更新流程,降低更新失败的影响。
可以做什么
- 按项目配置保护策略与保留规则
- 执行恢复预检和恢复核验
- 更新异常时恢复原运行配置
这个页面解决什么问题
应用保护为三类对象建立“备份 → 恢复预检 → 恢复核验”的完整闭环:受管的 Compose 项目、没有 Compose 标签的独立容器,以及 TRADIS 自身。策略统一在列表管理,备份记录、预检与核验集中在右侧详情栏。
备份归档统一写入部署时配置的 BACKUP_ROOT(必须在项目目录之外),不会写回被保护的项目目录;每项策略的保留份数对本地归档与 WebDAV/S3 远程副本统一裁剪。本地手动备份与恢复属于 Free,远程副本与自动计划属于 Go。
安全底线是“恢复必须先通过预检并由你明确确认”:预检会校验归档完整性、所需镜像并解密配置,全部通过才允许进入恢复确认;恢复完成后还会单独核验服务、健康检查与公开端口,核验警告不会掩盖已成功的数据恢复。
开始前准备
- 部署 TRADIS 时已正确配置 BACKUP_ROOT,且该目录位于 PROJECT_ROOT 之外。
- 使用 WebDAV/S3 远程副本需要 Go 订阅与目标存储的凭据(加密保存,不回显)。
- 保护对象来自实时候选:本机仍有关联容器且受 TRADIS 管理的项目、实际的独立容器与 TRADIS 自备份入口;没有容器的草稿目录不会出现。
如何操作
创建保护策略
为一个或多个项目建立定时备份。
- 点击「新建」打开策略编辑对话框;保护对象下拉只列出可保护的项目,有备注的项目显示为「项目名(备注)」。
- 选择一个或多个项目:多选时按相同配置批量创建,名称自动取「<项目> 保护」,已有策略的项目不再出现在选项中。
- 设置自动计划的 Cron(支持 5 字段、描述符与常用快捷计划)与保留份数;不需要自动备份时可只保留手动执行。
- 保存后策略出现在列表;创建时系统会重新校验目标,防止容器已删除或被 Compose 接管的竞态。
结果检查:策略按计划自动备份(Go),或等待你手动触发;从 Compose 项目详情进入时会自动定位已有策略或预填当前项目。
立即备份并确认范围
更新前或重大变更前,手动做一份备份。
- 在策略行或详情栏点击「立即运行一次」;系统先读取备份计划并弹出备份范围确认。
- 在范围确认中逐项勾选可归档挂载:bind 显示路径、volume 显示卷名并标注项目内/外;默认勾选严格沿用策略已保存的排除,没有保存过时智能默认勾选项目内 bind 与 named volume。
- 保留「同时保存为该策略的默认备份范围」勾选时,本次选择会回写为策略默认(备份成功后生效)。
- 确认后任务在后台执行;超过 60 秒会出现一次性持续提示,可以离开页面,完成后收到站内通知。
- 批量备份则不弹范围确认,直接沿用各策略已保存的范围,串行执行并逐个汇报成功、失败与跳过。
结果检查:备份记录出现在时间线,状态灯为成功色;本地归档与远程副本按保留份数统一裁剪。
查看备份记录并执行恢复
项目损坏或更新失败,需要回到某个备份时间点。
- 点击策略行打开右侧详情;备份时间线按时间列出记录,仅显示时间与状态,默认选中最新一条。
- 对目标记录发起恢复:系统先执行恢复预检——校验全部归档、所需镜像可用并解密配置,问题会逐项列出。
- 预检通过后进入恢复确认(危险确认):确认后恢复任务在后台执行,恢复项目文件、数据与备份时的运行状态。
- 恢复完成后查看恢复核验结果:Compose 服务、已配置的健康检查与公开 TCP 端口逐项核验;警告项单独提示,不影响已恢复的数据。
- 独立容器恢复按原生 Docker 配置重建(不转成 Compose);同名旧容器会先停止并临时改名,成功后移除,失败则按阶段回退或保留并记录日志。
结果检查:对象回到备份时间点;核验结果明确区分“数据已恢复”与“服务需要关注”,不会互相掩盖。
暂停、删除与永久删除
项目下线或策略调整,需要清理保护对象。
- 「暂停」只停用自动计划,策略与历史保留;显式手动执行仍可用。
- 「删除」是软删除:策略归档并停止自动备份,备份记录保留;可在已删除视图中恢复策略。
- 「永久删除」在确认后连同本地与远程备份一起清除,无法恢复;已删除视图支持批量恢复与批量永久删除。
- 单份备份记录也可单独恢复或永久删除。
结果检查:列表与存储保持一致;永久删除前系统会再次确认,因为该操作不可逆。
维护自动计划
希望备份跟随固定节奏自动执行。
- 在策略编辑中调整 Cron 或快捷计划;修改同时作用于运行时调度器与数据库,失败会补偿回滚,不会出现界面与实际计划分裂。
- 计划入口同步展示在定时任务页;两处修改 Cron 或启停状态作用于同一条计划。
- 应用保护计划的手动触发允许暂停中的策略运行一次。
结果检查:自动备份按计划执行;执行结果可在备份时间线与定时任务历史中核对。
弹窗与高级功能
新建/编辑策略
打开入口:工具栏「新建」,或行内「编辑」;Compose 项目详情也可直达。
定义保护对象、自动计划与保留份数。
- 对象选择:Multiselect 复选,只列可保护项目;多选批量创建同名规范策略。
- 排除挂载:编辑时以只读列表展示已保存的排除项,可一键「清除排除范围」。
- 计划与保留:Cron、描述符或快捷计划;保留份数同时约束本地与远程副本。
提交或关闭后:保存后策略立即生效;TRADIS 自备份固定在线执行,不涉及容器停机。
备份范围确认
打开入口:单条策略的「立即运行一次」。
在备份前明确本次归档包含哪些挂载。
- 列表:bind 显示路径、volume 显示卷名,标注项目内/外;socket 类不可归档挂载自动跳过并记录。
- 默认勾选:有已存排除时严格沿用,否则智能勾选项目内 bind 与 named volume。
- 持久化:勾选「同时保存为该策略的默认备份范围」后,本次选择回写策略。
提交或关闭后:确认后按勾选范围提交任务,未勾选项以排除清单随任务下发。
注意:取消勾选意味着这些挂载的数据不进入本次备份,恢复时也不会包含。
恢复预检与恢复确认
打开入口:备份详情中的恢复操作。
确保恢复在归档、镜像与配置全部就绪后才执行。
- 预检:校验全部归档完整性、恢复主机需要的镜像可用性并解密配置;敏感配置缺少主密钥时会要求重新输入。
- 确认:恢复属危险操作,保留明确确认;独立容器恢复会处理同名旧容器的改名与回退。
- 核验:恢复完成后单独核验服务、健康检查与公开 TCP 端口。
提交或关闭后:恢复按后台任务执行并逐项报告;失败时保留任务日志与现场供排查。
注意:备份不包含镜像本身与容器可写层;恢复主机必须能取得备份记录中的原始镜像。
永久删除确认
打开入口:已删除视图中的策略或单份备份的永久删除。
在不可逆清除前获得明确确认。
- 范围:连同本地归档与 WebDAV/S3 远程副本一起删除。
- 边界:只删除该策略已记录的对象;远端清理失败会保留本地归档与历史供重试。
- 顺序:同一策略的备份、历史清理与永久删除按顺序执行,避免交叉产生孤立记录。
提交或关闭后:确认后彻底清除且无法恢复。
注意:这是全页唯一不可逆的批量操作,执行前确认远程副本也不再需要。
注意事项
- 面板内禁止覆盖恢复 TRADIS 自身;自备份归档数据目录与数据库一致快照,并密封收集各项目 Compose 配置。
- 包含敏感 Compose 或 .env 的项目单独加密封存;缺少主密钥时恢复会要求重新输入敏感配置。
- 同一策略的备份、清理任务串行执行;Client 重启会把中断的恢复任务标记为失败,未执行的恢复计划保留。
- 应用保护与设置页的旧卷备份互不迁移;卷备份仍是独立的 Free 能力。