harbor实践之初识harbor

Posted Rcsec的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了harbor实践之初识harbor相关的知识,希望对你有一定的参考价值。

1 什么是Harbor

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

2 什么是Registry

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

3 第一次使用Harbor

  3.1登录

  默认用户名密码:admin/Harbor12345

  

  3.2创建项目

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

   

4为项目添加镜像

  4.1登录本地私有registry

docker login 192.168.88.128

  

  登录过程中组件的交互:

  

(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

  

  4.3push镜像到私有registry

docker push 192.168.88.128/hb/vmware/photon:1.0

  

  4.4 删除、下载镜像

docker rmi
docker pull

以上是关于harbor实践之初识harbor的主要内容,如果未能解决你的问题,请参考以下文章

Python3之harbor sdk api

Docker之Harbor

docker 私有仓库之Harbor搭建与使用

DevOps之harbor

Harbor之https

docker之harbor仓库注意事项