一、创建用户,如下:
系统管理—>用户管理,点击创建用户按钮
点击确定,查看daemon用户已经创建完成,如下:
可以设置该用户为管理员,如下:
选中用户,点击设置为管理员
再次查看该用户,角色已经变为管理员
修改用户密码,如下:
重新输入新密码即可,如下:
二、创建项目,如下:
查看系统中默认的项目为library
创建项目,如下:
点击新建项目,
如果勾选公开按钮,命令不需要登录就可以下载镜像,否则需要登录才能拉取镜像。
设置该项目的存储配额,-1为不受限制
镜像代理:该环境为私有仓库,可不设置。
查看项目的信息,如下:
因为现在还没有上传镜像,所以为空
为镜像添加成员,如下:
如下,名称为我们上面创建的用户
五种角色解释:
项目管理员: 可以对改项目进行任意操作
维护人员: 可以对改项目进行其他配置操作
开发人员: 可以对改项目内的镜像进行pull/push
访客: 可以对改项目的镜像进行pull操作
受限访客: 不能查看改项目的内容
对用户进行操作,如下:
修改用户角色,如下:
其他功能暂不一一测试
测试harbor的可用性,如下:
[root@k8s-node-3 ~]# docker tag nginx:v1.9 1.68.5.94/harbor/nginx:v1.9
[root@k8s-node-3 ~]# docker login 1.68.5.94
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@k8s-node-3 ~]# docker push 1.68.5.94/harbor/nginx:v1.9
The push refers to repository [1.68.5.94/harbor/nginx]
85fcec7ef3ef: Pushed
3e5288f7a70f: Pushed
56bc37de0858: Pushed
1c91bf69a08b: Pushed
cb42413394c4: Pushed
v1.9: digest: sha256:0b159cd1ee1203dad901967ac55eee18c24da84ba3be384690304be93538bea8 size: 1362
注:在页面上删除image时,只是删除了链接,如果要真正删除一个image需要在
底层命令行操作
三、远程镜像复制
首先在仓库管理中创建目标,如下:
点击新建目标,如下:
目标名: 指的是目标harbor的项目名称
如上1.68.5.80是我搭建的另外一套harbor环境,使用的是http,所以未勾选“验证远程证书”
点击测试连接检测有误问题,如下:
点击确定,如下:
在复制管理中创建复制规则,如下:
名称:可以自定义
复制模式: push-based为从本地push到远端,pull-based为从远端pull到本地
源资源过滤器--名称: 为要复制的本地或者远端的项目
源资源过滤器-tag: 为该项目中要复制的镜像的tag,不选为全部
源资源过滤器-标签: 为该项目中要复制的镜像的标签,不选为全部
源资源过滤器-资源: 默认为全部,可以选择image或者aitifact
目的registry: 选择上一步中创建的目标连接
目的ns: 不配置就和源资源过滤器--名称中的目标名字一样,也可以设置为目的registry中任意的名称
触发模式: 默认为手动,创建完之后需要手动执行,镜像复制可以选择覆盖目标资源同名的镜像
可以选择定时复制:在其他时间定时同步
事件驱动:本地镜像删除时,远端镜像也会删除
此次测试选择触发模式为手动,如下:
点击复制,开始镜像的复制,如下:
查看当前任务,如下:
到目标节点查看复制的镜像,如下: