You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当文件不存在时,如何清理Harbor中的仓库与构件记录?

解决Harbor重装恢复后复制规则不重新拉取构件的非侵入性方案

以下是几个无需SQL命令的非侵入性解决办法,直接通过Harbor UI或官方CLI操作即可:

  • 强制触发全量同步
    进入Harbor控制台找到对应的复制规则,点击规则右侧的「执行」按钮,选择「强制同步」选项。这个操作会跳过本地已存在的元数据校验,直接从源仓库拉取所有匹配的构件,刚好适配你现在没有实际构件文件但数据库有记录的场景。

  • 修改复制规则触发条件触发重新扫描
    编辑目标复制规则,先把触发方式改成「手动」,接着临时调整过滤条件(比如加个不存在的标签temp-tag),保存规则后再改回原过滤条件。之后执行手动同步,Harbor会识别到规则变更,重新扫描源仓库并拉取所有构件,同步完成后再把触发方式改回原来的设置就行。

  • 用Harbor CLI清理构件元数据
    用官方harborctl工具连接到Harbor实例,执行命令清理指定项目的构件元数据:

    harborctl artifact delete --project <你的项目名> --repository <目标仓库名> --all
    

    这个操作只会删掉数据库里的构件记录,不会碰存储文件(你重装后本来就没文件),清理完再跑复制规则,系统就会重新拉取所有构件。

  • 重置复制规则的同步状态
    打开复制规则的详情页,找到「重置同步标记」(不同版本可能叫法略有不同)的选项,点击重置后Harbor会清除该规则的同步历史,下次执行同步时会从头开始拉取所有匹配的构件。

内容的提问来源于stack exchange,提问作者jonathan tan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 17:39:51