harbor使用

1. 登录Web Harbor

输入用户名admin,默认密码(或已修改密码)登录系统。
这里写图片描述

我们可以看到系统各个模块如下:

  • 项目:新增/删除项目,查看镜像仓库,给项目添加成员、查看操作日志、复制项目等
  • 日志:仓库各个镜像create、push、pull等操作日志
  • 系统管理
    • 用户管理:新增/删除用户,设置管理员等
    • 复制管理:新增/删除从库目标,新建/删除/启停复制规则等
    • 配置管理:认证模式、复制、邮箱设置、系统设置等

注意:非系统管理员用户登录,只能看到有权限的项目和日志,其他模块不可见。

2. 新建项目

我们新建一个名称为wuyang的项目,设置不公开。注意。当项目设为公开后,任何人都有此项目下镜像的读权限。命令行用户不需要docker login就可以拉取此项目下的镜像。

新建项目完毕后,我们就可以用admin账户提交本地镜像到Harbor仓库了。例如我们提交本地nginx镜像:

// admin登录
$ docker login 10.236.63.76
Username: admin
Password:
Login Succeeded

// 给镜像打tag
$ docker tag nginx 10.236.63.76/wanyang/nginx:latest
$ docker images
REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
nginx                              latest              958a7ae9e569        2 weeks ago         109 MB
10.236.63.76/wanyang/nginx         latest              958a7ae9e569        2 weeks ago         109 MB

// push镜像到仓库
$ docker push 10.236.63.76/wanyang/nginx
The push refers to a repository [10.236.63.76/wanyang/nginx]
a552ca691e49: Pushed
7487bf0353a7: Pushed
8781ec54ba04: Pushed
latest: digest: sha256:41ad9967ea448d7c2b203c699b429abe1ed5af331cd92533900c6d77490e0268 size: 948

上传完毕后,登录Web Harbor,选择项目,项目名称wuyang,就可以查看刚才上传的nginx image了。
这里写图片描述

3. 创建用户并分配权限

我们刚一直是用admin操作,实际应用中我们使用每个人自己的账户登录。所以就需要新建用户,同时为了让用户有权限操作已经创建的项目,还必须将该用户添加到该项目成员中。

创建用户名为wuyang的测试用户,点击系统管理-> 用户管理-> 创建用户,输入用户名、邮箱、密码等信息。

现在我们使用wanyang账户本地模拟操作pull刚上传的nginx镜像。

// 先移除tag(因为我本地刚上传了该nginx镜像,直接pull,检测本地存在就不会pull)
$ docker rmi -f 10.236.63.76/wanyang/nginx

Untagged: 10.236.63.76/wanyang/nginx:latest
Untagged: 10.236.63.76/wanyang/nginx@sha256:41ad9967ea448d7c2b203c699b429abe1ed5af331cd92533900c6d77490e0268

// 退出admin账号,登录wuyang账号
$ docker logout 10.236.63.76
Removing login credentials for 10.236.63.76

$ docker login 10.236.63.76
Username: wanyang
Password:
Login Succeeded

// pull harbor镜像到本地
$ docker pull 10.236.63.76/wanyang/nginx:latest
latest: Pulling from wanyang/nginx
Digest: sha256:41ad9967ea448d7c2b203c699b429abe1ed5af331cd92533900c6d77490e0268
Status: Downloaded newer image for 10.236.63.76/wanyang/nginx:latest

4. 配置 Docker 镜像复制

首先,我们至少配置两个Harbor服务 :

  • Harbor1:10.236.63.76

  • Harbor2:10.236.63.62

我们已经往Harbor1上面push了一个镜像了,那么就把Harbor1当做主节点,Harbor2当做复制节点,我们要把Harbor1上的镜像自动复制到Harbor2上去。

配置复制规则,点击项目->wanyang->复制->新建复制规则,填写名称、目标名、目标URL等信息。 注意:这里的目标URL是复制节点Harbor2地址http://10.236.63.62,用户名和密码为Harbor2配置的admin账户和密码。一旦勾选启用,那么新建复制规则完成后,立马就检测需要同步的image自动同步。

为了更好的演示效果,现在我往Harbor1上wanyang项目下在push一个镜像maven:3-jdk-8,看下新上传的镜像会不会自动同步到Harbor2上去。
这里写图片描述

push完毕,显示已完成复制到Harbor2,现在登录到Harbor2 Web Harbor,我们看到镜像已经自动复制过来啦,操作日志也会一起复制过来。
这里写图片描述

我们现在从Harbor2上面pull下刚同步过去的maven镜像试试看,妥妥的没问题。

$ docker login 10.236.63.62

Username: admin
Password:
Login Succeeded

$ docker pull 10.236.63.62/wanyang/maven:3-jdk-8

3-jdk-8: Pulling from wanyang/maven
Digest: sha256:16e68f691322cd425d27c798f88df4eb3c4322fe294067f21325b36ec587fa06
Status: Downloaded newer image for 10.236.63.62/wanyang/maven:3-jdk-8

$ docker images

REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
nginx                              latest              958a7ae9e569        2 weeks ago         109 MB
10.236.63.76/wanyang/nginx         latest              958a7ae9e569        2 weeks ago         109 MB
10.236.63.62/wanyang/maven         3-jdk-8             c58c661bb6ad        5 weeks ago         653 MB
10.236.63.76/wanyang/maven         3-jdk-8             c58c661bb6ad        5 weeks ago         653 MB
maven                              3-jdk-8             c58c661bb6ad        5 weeks ago         653 MB

我们在看下Harbor1和Harbor2上的操作日志,是都按照我们操作的顺序显示的。

  • harbor1

这里写图片描述

  • harbor2

这里写图片描述

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页