适用场景

镜像仓库是 CI/CD 的"粮仓":它挂了所有人都无法发布。高可用 + 定期清理 + 多副本复制是必备三件事。

配置步骤(高可用部署)

# docker-compose 多实例要点
# 1) 共享后端:PostgreSQL 外部化 + Redis 外部化
# 2) 镜像存储:S3/OSS 对象存储或共享文件存储
# 3) 前置:负载均衡 + 健康检查
# 4) 证书与域名统一,保证多实例一致

关键参数与建议

  • 架构:多实例 + 共享存储/对象存储 + 外部数据库 + 负载均衡
  • 复制:跨机房复制镜像,保证单机房故障仍可发布
  • 清理:按保留策略清旧标签,避免存储爆满
  • 配额:按项目限制容量,防止单项目占满
  • 扫描:开启镜像扫描并阻断高危镜像推送

容易踩的坑

  • 数据库与 Redis 内嵌单实例,实例故障即全站不可用
  • 存储用本地磁盘,多实例数据不一致
  • 负载均衡未做健康检查,请求打到故障实例

验证与巡检

curl -s -I https://harbor.example.com/api/v2.0/health
  • 巡检:多实例状态、共享存储/DB 健康、LB 健康检查生效

小结

镜像仓库的验收:任一台实例故障仍能推拉镜像;存储水位健康;清理与复制任务按计划执行。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。