Harbor高可用私有镜像仓库搭建内网加速

团队内网拉取 Docker 镜像经常超时?
部署一个高可用的 Harbor 私有镜像仓库就能彻底解决。
本教程面向零基础运维用户,带你从服务器准备、主从部署到负载均衡配置,一步步实现内网镜像加速,保证即使主节点宕机也不影响拉取。

准备工作:服务器、域名与证书

至少准备两台 Linux 服务器(推荐 Ubuntu 20.04 或 CentOS 7.9),一台做主节点,一台做从节点。
每台服务器需要安装 Docker 和 Docker Compose(Harbor 依赖它们运行)。
另外准备一个内网域名(例如 registry.internal.com)和对应的 SSL 证书。
如果暂时没有正式证书,可以使用自签名证书,但后续所有客户端需要信任该证书。

主节点和从节点的硬件要求:CPU 2 核以上,内存 4GB 以上,存储空间根据镜像仓库大小规划,建议单独挂载一块数据盘。

三步完成主节点部署

  1. 下载并解压 Harbor 安装包:从 GitHub Releases 页面下载最新离线安装包(harbor-offline-installer-v2.x.x.tgz),上传到主节点 /opt 目录并解压。
   cd /opt && tar -xzf harbor-offline-installer-v2.*.tgz
   cd harbor
  1. 修改配置文件:复制 harbor.yml.tmplharbor.yml,修改核心参数:
  • hostname:填写内网域名 registry.internal.com
  • https.certificatehttps.private_key:指向准备好的 SSL 证书和密钥文件路径
  • harbor_admin_password:设置管理员密码
  • database.password:修改数据库密码(高可用场景建议统一)
  • data_volume:指向数据盘挂载目录,例如 /data/harbor
  1. 执行安装脚本:运行 ./install.sh --with-trivy --with-chartmuseum(根据需求开启漏洞扫描和 Helm Chart 支持)。安装完成后访问 https://registry.internal.com 即可登录管理后台。

从节点同步与负载均衡配置

从节点也按上述步骤安装一份 Harbor,但需要关键调整:

  • 在从节点的 harbor.yml 中启用 replication 功能,将 replication 下的 replicate 设置为 true,并配置“目标注册表”指向主节点地址(例如 https://主节点IP),验证方式选择“Basic Auth”并使用主节点的管理员账号。
  • 启动从节点后,在主节点创建“复制规则”,选择“基于事件”或“定时同步”,将主仓库的全部项目复制到从节点。
  • 最后,在内网 DNS 服务器上将 registry.internal.com 解析到负载均衡器(例如 Nginx、HAProxy)的虚拟 IP。负载均衡器将请求分发到主、从两个 Harbor 节点。建议使用健康检查,在 Nginx 配置如下:
  upstream harbor_backend {
      server 192.168.1.10:443 max_fails=3 fail_timeout=30s;
      server 192.168.1.20:443 max_fails=3 fail_timeout=30s;
  }
  server {
      listen 443 ssl;
      server_name registry.internal.com;
      ssl_certificate /etc/ssl/certs/registry.crt;
      ssl_certificate_key /etc/ssl/private/registry.key;
      location / {
          proxy_pass https://harbor_backend;
          proxy_ssl_verify off;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
      }
  }

注意 proxy_ssl_verify off 是因为后端节点使用相同证书,避免证书校验失败。

常见问题与避坑说明

  • 问题:拉取镜像时提示证书错误:如果使用自签名证书,需要在所有 Docker 客户端的 /etc/docker/certs.d/registry.internal.com/ 目录下放入 ca.crt 文件,然后重启 Docker 服务。
  • 问题:从节点同步失败:检查主从节点之间的网络连通性,确认主节点的 replication 服务已启动(默认 ./install.sh 已安装)。可以在 Harbor Web 界面的“复制管理”中查看同步日志。
  • 避坑:数据库版本一致:主从节点的 Harbor 版本必须严格一致,否则数据库结构不兼容会导致复制失败。升级时建议先升级从节点,验证后再升级主节点。
  • 避坑:数据目录分离:不要把主从节点的数据目录放在同一块 NFS 共享存储上,否则会相互覆盖。高可用的本质是数据复制,而非共享存储。

效果验证

  1. 在任意内网机器上登录私有仓库:docker login registry.internal.com,输入管理员账号密码应成功。
  2. 拉取一个测试镜像(例如 registry.internal.com/library/nginx),观察下载速度是否达到内网带宽上限。
  3. 手动停止主节点的 Harbor 服务(docker-compose down),再次拉取同一个镜像,应该仍能从从节点正常拉取,不会出现中断。
  4. 查看复制管理界面,确认主节点和从节点上的镜像列表一致。

通过以上步骤,你的团队可以彻底告别公网拉取慢、单点故障的问题。
如果还需要深入细节,可以继续查看 Harbor 官方文档或历史教程中的证书配置、垃圾回收等进阶内容。

分享到:
上一篇
网站收录诊断全流程排查抓取失败根源:网站收录诊断全流程
下一篇
多站点批量绑定SSL证书宝塔一键脚本
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意