适用场景
镜像仓库是 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 健康检查生效
小结
镜像仓库的验收:任一台实例故障仍能推拉镜像;存储水位健康;清理与复制任务按计划执行。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。