简介

Harbor是由VMware公司中国团队为企业用户设计的Registry server开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能

harbor 复制另外一个仓库 harbor复制策略_推送

功能特点

  1. 云原生仓库: 凭借对容器镜像和 Helmcharts 的支持,Harbor可以作为容器运行时和业务流程平台等云原生环境的仓库
  2.  基于角色的访问控制:用户和存储库通过“项目”进行组织,并且用户可以对项目下的镜像或Helm charts具有不同的权限。
  3. 基于策略的复制:可以基于具有多个过滤器(存储库,标签和标签)的策略在多个仓库实例之间复制(同步)镜像和Helm charts。如果遇到任何错误,Harbor会自动重试复制。非常适合负载平衡,高可用性,多数据中心,混合和多云场景。
  4.  漏洞扫描:Harbor会定期扫描镜像并警告用户存在漏洞。
  5. LDAP/AD域支持:Harbor与现有企业LDAP / AD集成以进行用户身份验证和管理,并支持将LDAP组导入Harbor并为其分配适当的项目角色。
  6.  OIDC支持:Harbor利用OpenID Connect(OIDC)来验证由外部授权服务器或身份提供者认证的用户的身份。可以启用单点登录以登录Harbor门户。
  7.  镜像删除和垃圾收集:可以删除镜像并回收其空间。
  8. 公证:可以保证镜像的真实性。
  9.  图形化门户管理:用户可以轻松浏览,搜索存储库和管理项目。
  10. 审计:跟踪对存储库的所有操作。
  11. RESTful API:用于大多数管理操作的RESTful API,易于与外部系统集成。嵌入式Swagger UI可用于探索和测试API。
  12.  容易部署:提供在线和离线安装程序。另外,可以使用HelmChart在Kubernetes上部署Harbor。

 

安装部署

系统要求:在linux主机上,docker 17.06.0-ce+, docker-compose1.18.0+, 也可以在kubernetes 集群中使用HelmChart for Harbor部署。本文在linux主机中部署。

可以使用在线和离线两种方式安装,本文使用离线方式安装,获取harbor release.

解压包:



```	
tar xvfharbor-offline-installer-v1.9.1.tgz	
```	
 	
 	
进入harbor目录并修改harbor.yml文件 hostname。然后执行install.sh进行安装	
```	
# cd harbor	
# vimharbor.yml //修改hostname为当前主机ip地址	
#./prepare	
#./install.sh	
```



harbor 复制另外一个仓库 harbor复制策略_推送_02

显示安装成功,并可通过主机IP地址来访问,默认用户名密码为: admin/ Harbor12345, 可以在安装前修改harbor.yml中默认配置后安装并访问。

 

配置本地私服

 



```	
vim/etc/docker/daemon.json	
# 写入以下内容:	
{	
    "insecure-registries": ["192.168.109.200"]	
}	
 ```	
 验证是否配置成功:	
 ```	
 docker info # 查看InsecureRegistries: 是否包含配置的私服地址



harbor 复制另外一个仓库 harbor复制策略_离线_03



或dockerlogin 192.168.109.200 # 输入用户名和密码,显示 Login Succeeded 为成功	
 ```



harbor 复制另外一个仓库 harbor复制策略_离线_04

将本地镜像推送到Harbor

1. 将本地镜像打tag, 以hello-world项目为例, 将镜像推送到library项目下:

```

dockertag hello-world:latest 192.168.109.200/library/hello:latest

```

harbor 复制另外一个仓库 harbor复制策略_docker_05

2. 推送镜像

```

dockerpush 192.168.109.200/library/hello

```

harbor 复制另外一个仓库 harbor复制策略_推送_06

3. 登录harbor,查看镜像已经被推送到Harbor了

harbor 复制另外一个仓库 harbor复制策略_harbor 复制另外一个仓库_07