一、创建用户,如下:

系统管理—>用户管理,点击创建用户按钮

harbor 新建仓库 api 启动harbor仓库_创建用户


harbor 新建仓库 api 启动harbor仓库_nginx_02


点击确定,查看daemon用户已经创建完成,如下:

harbor 新建仓库 api 启动harbor仓库_创建用户_03


可以设置该用户为管理员,如下:

选中用户,点击设置为管理员

harbor 新建仓库 api 启动harbor仓库_nginx_04


再次查看该用户,角色已经变为管理员

harbor 新建仓库 api 启动harbor仓库_harbor 新建仓库 api_05


修改用户密码,如下:

harbor 新建仓库 api 启动harbor仓库_harbor 新建仓库 api_06


重新输入新密码即可,如下:

harbor 新建仓库 api 启动harbor仓库_harbor 新建仓库 api_07

二、创建项目,如下:

查看系统中默认的项目为library

harbor 新建仓库 api 启动harbor仓库_容器_08


创建项目,如下:

harbor 新建仓库 api 启动harbor仓库_docker_09


点击新建项目,

harbor 新建仓库 api 启动harbor仓库_harbor 新建仓库 api_10


如果勾选公开按钮,命令不需要登录就可以下载镜像,否则需要登录才能拉取镜像。

设置该项目的存储配额,-1为不受限制

镜像代理:该环境为私有仓库,可不设置。

harbor 新建仓库 api 启动harbor仓库_docker_11


查看项目的信息,如下:

harbor 新建仓库 api 启动harbor仓库_创建用户_12


因为现在还没有上传镜像,所以为空

为镜像添加成员,如下:

harbor 新建仓库 api 启动harbor仓库_harbor 新建仓库 api_13


如下,名称为我们上面创建的用户

harbor 新建仓库 api 启动harbor仓库_容器_14

五种角色解释:
       项目管理员: 可以对改项目进行任意操作
       维护人员: 可以对改项目进行其他配置操作
       开发人员: 可以对改项目内的镜像进行pull/push
       访客:  可以对改项目的镜像进行pull操作
       受限访客: 不能查看改项目的内容

harbor 新建仓库 api 启动harbor仓库_docker_15


对用户进行操作,如下:

harbor 新建仓库 api 启动harbor仓库_docker_16


修改用户角色,如下:

harbor 新建仓库 api 启动harbor仓库_docker_17


其他功能暂不一一测试

测试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 新建仓库 api 启动harbor仓库_docker_18


点击新建目标,如下:

harbor 新建仓库 api 启动harbor仓库_创建用户_19


目标名: 指的是目标harbor的项目名称

如上1.68.5.80是我搭建的另外一套harbor环境,使用的是http,所以未勾选“验证远程证书”

点击测试连接检测有误问题,如下:

harbor 新建仓库 api 启动harbor仓库_nginx_20


点击确定,如下:

harbor 新建仓库 api 启动harbor仓库_harbor 新建仓库 api_21


在复制管理中创建复制规则,如下:

harbor 新建仓库 api 启动harbor仓库_docker_22


harbor 新建仓库 api 启动harbor仓库_docker_23


harbor 新建仓库 api 启动harbor仓库_容器_24

名称:可以自定义
复制模式: push-based为从本地push到远端,pull-based为从远端pull到本地
源资源过滤器--名称: 为要复制的本地或者远端的项目
源资源过滤器-tag: 为该项目中要复制的镜像的tag,不选为全部
源资源过滤器-标签: 为该项目中要复制的镜像的标签,不选为全部
源资源过滤器-资源: 默认为全部,可以选择image或者aitifact
目的registry: 选择上一步中创建的目标连接
目的ns: 不配置就和源资源过滤器--名称中的目标名字一样,也可以设置为目的registry中任意的名称
触发模式: 默认为手动,创建完之后需要手动执行,镜像复制可以选择覆盖目标资源同名的镜像
                   可以选择定时复制:在其他时间定时同步
                   事件驱动:本地镜像删除时,远端镜像也会删除

此次测试选择触发模式为手动,如下:

harbor 新建仓库 api 启动harbor仓库_nginx_25


点击复制,开始镜像的复制,如下:

harbor 新建仓库 api 启动harbor仓库_harbor 新建仓库 api_26


harbor 新建仓库 api 启动harbor仓库_harbor 新建仓库 api_27


查看当前任务,如下:

harbor 新建仓库 api 启动harbor仓库_harbor 新建仓库 api_28


到目标节点查看复制的镜像,如下:

harbor 新建仓库 api 启动harbor仓库_docker_29