Harbor支持多种后端存储模式,本文介绍的是使用阿里云OSS作为后端存储,构建企业级的私有镜像仓库。

优势

  • 阿里云OSS可以解决本地磁盘容量瓶颈和可用性的需求,节约本地磁盘的耗费
  • 同时镜像的上传,下载需要高速的网络带宽,ECS构建私有仓库可以使用OSS内部数据流量,降低公网网络流量成本。
  • OSS为Docker Registry提供一个支持海量存储,高性能访问,高可用,安全,低成本,无需运维的存储后端
  • 对于大型分布式环境还支持跨区复制以实现不同地区镜像同步
  • 使用阿里云oss可以避免存储的单点故障
  • 可实现共享存储

安装Harbor

参考:企业级Docker私有镜像管理仓库:HarBor

配置OSS

  1. 修改harbor配置文件
/usr/local/harbor/common/templates/registry/config.yml

修改registry的存储为阿里云OSS,并配置AK、Eedpoint、Bucket等信息:

version: 0.1
log:
  level: info
  fields:
    service: registry
storage:
  oss:
    accesskeyid: LTAIxxxxxxxUN8NN
    accesskeysecret: qyo5uxxxxxtiomiy
    region: oss-cn-hangzhou
    endpoint: cloudcare-registry.oss-cn-hangzhou-internal.aliyuncs.com
    internal: true
    bucket: cloudcare-registry
    secure: false
  cache:
    layerinfo: inmemory
  #$storage_provider_info
  maintenance:
    uploadpurging:
      enabled: false
  delete:
    enabled: true

注意REGISTRY_STORAGE_OSS_ENDPOINT的值一定要写成OSS的访问域名,不能写成OSS的EndPoint

2、重新生成配置文件并重启服务

cd /usr/local/harbor
./prepare

自动生成的配置文件路径:/usr/local/harbor/common/config/registry/config.yml

重启服务,检查 服务状态:

docker-compose up -d
docker-compose ps

访问测试

​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍‌​‌‌​‌‌‌‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​‌‌‌​‌‍‌​​‌​​​​‍‌​​​‌‌​‌‍‌‌​‌​‌​​‍‌​‌‌​​​​‍‌​‌​‌‌​​‍‌​‌​‌‌​​‍​​‌‌​​​​‌‌‌‌​‌‌‍​‌​​​​‌​​​​​‌​‌‍​‌‌​​​​‌‌‌‌‌‌‌​‍​‌‌​​​‌‌‌‌​​‌​‌‍​​​​‌‌​​​‌‌‌‌‌​‍​​‌‌​​​‌‌‌‌​‌‌​‍​‌‌​‌​‌​‌​‌​​​‌‌‍​‌​‌‌‌‌​​‌‌​​​​‍​‌‌​​​‌​​‌​‌‌​​‍​‌​​​​‌​‌‌​‌‌​​‍​​‌‌‌‌‌‌‌‌​​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​​‌‌‌‌​‍‌​​‌‌​‌‌‍‌​​‌​​‌​‍‌​​‌​‌‌​‍‌​​‌​​​‌‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌‌​‍‌‌​​​‌‌​‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​​‌‌​‍‌‌​‌​​‌​‍‌‌​​‌‌​‌‍‌‌​​‌‌‌​‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​​‌​​​‍‌​​​‌​​​‍‌​​​‌​​​‍‌‌​‌​​​‌‍‌​​‌​‌‌​‍‌​​‌​‌​​‍‌​​‌​‌‌​‍‌​​​‌​​​‍‌​​‌​‌‌​‍‌‌​‌​​​‌‍‌​​‌​​‌​‍‌​​‌‌​‌​‍‌​‌​​​‌‌‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​‌‌‌​​‍‌​​‌​‌‌‌‍‌​​‌​‌‌​‍‌​​​‌​​‌‍‌​​‌‌​‌​‍‌​​​‌‌​​‍‌​‌​​​‌‌‍‌‌​​‌​​‌‍‌‌​​‌​‌​‍‌‌​​‌​‌​‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌

1、登录阿里云OSS控制台查看Bucket,可以发现自动创建了一个docker目录,所有上传的镜像均存放在该目录下。

2、登录Harbor管理界面,验证服务是否正常

注意事项

报错状态

安装完成后,registry状态为restarting,反复在重启中。

排查错误
/usr/local/harbor/common/templates/registry/config.yml

配置文件第16行$storage_provider_info变量,这个变量会集成harbor.cfg配置中对应参数部分,需要手动注释掉,否则生成的config.yml文件会有语法错误。注释后,重启服务正常。

文章目录