1 什么是Harbor

  harbor是VMware公司开源的企业级Registry项目,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服务。

2 什么是Registry

  Registry是一个无状态的,高可扩展的服务器端应用程序,用于存储和分发Docker Image。

3 第一次使用Harbor

  3.1登录

  默认用户名密码:admin/Harbor12345

  四、harbor实践之初识harbor-LMLPHP

  3.2创建项目

  填写项目名称,设置访问级别;如果设置为公共仓库,则所有人对此项目下的镜像拥有读权限,命令行中不需要执行"docker login"即可下载镜像。

   四、harbor实践之初识harbor-LMLPHP

4为项目添加镜像

  4.1登录本地私有registry

docker login 192.168.88.128

  四、harbor实践之初识harbor-LMLPHP

  登录过程中组件的交互:

  四、harbor实践之初识harbor-LMLPHP

(a) 首先,这个请求会由监听80端口的proxy容器接收到。根据预先设置的匹配规则, 容器中的Nginx会将请求转发给后端的registry 容器;
(b) 在registry容器一方,由于配置了基于token的认证,registry会返回错误代码401,提示Docker客户端访问token服务绑定的URL。在Harbor中,这个URL指向Core Services;
(c) Docker 客户端在接到这个错误代码后,会向token服务的URL发出请求,并根据HTTP协议的Basic Authentication规范,将用户名密码组合并编码,放在请求头部(header);
(d)类似地,这个请求通过80端口发到proxy容器后,Nginx会根据规则把请求转发给ui容器,ui容器监听token服务网址的处理程序接收到请求后,会将请求头解码,得到用户名、密码;
(e) 在得到用户名、密码后,ui容器中的代码会查询数据库,将用户名、密码与mysql容器中的数据进行比对(注:ui 容器还支持LDAP的认证方式,在那种情况下ui会试图和外部LDAP服务进行通信并校验用户名/密码)。比对成功,ui容器会返回表示成功的状态码, 并用密钥生成token,放在响应体中返回给Docker 客户端。

  4.2为镜像打tag

#tag格式为:domain(ip)/project/image:version
docker tag vmware/photon:1.0 192.168.88.128/hb/vmware/photon:1.0

  四、harbor实践之初识harbor-LMLPHP

  4.3push镜像到私有registry

docker push 192.168.88.128/hb/vmware/photon:1.0

  四、harbor实践之初识harbor-LMLPHP

  4.4 删除、下载镜像

docker rmi
docker pull
05-28 20:34