主从同步分布式镜像库应优先选用Harbor,通过配置HTTPS双向认证、注册目标Registry、设置事件驱动的标签过滤复制策略,并验证manifest digest一致性来实现安全可靠的就近访问与灾备能力。

主从同步的分布式镜像库,核心是让一个主仓库(Master)作为唯一可信源,多个从仓库(Slave)按需、安全、可靠地复制镜像,实现就近访问、故障隔离与灾备能力。配置关键不在“堆机器”,而在策略设计、认证打通和增量同步机制落地。
选型:优先用 Harbor 构建主从架构
Harbor 是目前企业级主从同步最成熟的选择,原生支持基于项目(Project)粒度的复制策略,支持 Push/Pull 两种模式、HTTPS 双向认证、标签过滤、失败重试与校验机制。Docker Registry 原生仅支持代理缓存(Pull-through),不具备主动复制能力;而 Skopeo 等工具适合脚本化批量同步,但缺乏状态管理和事件驱动能力。
- 主节点部署 Harbor,启用 HTTPS 和管理员认证,确保所有 API 和镜像传输加密
- 从节点同样部署 Harbor,配置独立域名/IP,禁用写权限(只读模式更安全)
- 主从之间通过 Harbor 的「复制规则」而非手动 docker push/pull 实现自动化同步
配置主从身份与网络连通性
主从不是简单“推过去就行”,必须先建立双向信任链。Harbor 复制依赖目标仓库的 API 访问权限,因此需在主节点上预先注册从节点为“目标 Registry”:
- 登录主 Harbor Web UI →「Administration」→「Registries」→「+ NEW ENDPOINT」
- 填写从节点地址(如 https://harbor-beijing.example.com)、用户名(建议专用账号,如 replicator)、密码或 Token
- 勾选「Verify remote certificate」并上传从节点的 CA 证书(若用自签名证书)
- 测试连接成功后保存,该 endpoint 将出现在复制策略的目标列表中
设置复制策略:按需同步,避免全量搬运
盲目同步全部镜像会浪费带宽、存储和时间。应基于业务实际设定过滤条件:
- 在主 Harbor 中进入目标 Project →「Replication」→「+ NEW REPLICATION RULE」
- 选择触发方式:Event-based(推荐,镜像 push 后自动触发)或 Scheduled(定时全量/增量扫描)
- 指定源命名空间(如 prod-apps)与目标命名空间(可映射为 mirror-prod-apps)
- 设置标签过滤器,例如只同步 ^v[0-9]+\.[0-9]+\.[0-9]+$(语义化版本)或 ^release- 开头的标签
- 启用「Override the destination tag」可统一重写标签,便于下游识别来源
验证与运维要点
配置完成不等于稳定运行,需关注一致性、可观测性和异常响应:
- 首次同步后,对比主从仓库中同一镜像的 manifest digest(sha256:xxx),确认内容完全一致
- 查看 Harbor Jobservice 日志(docker logs harbor-jobservice)跟踪复制任务状态
- 为避免单点故障,主节点建议高可用部署(如双主+负载均衡),但从节点可水平扩展,无需互连
- 定期清理从节点中过期镜像(Harbor 支持基于标签、时间、项目配额的自动清理策略)


















