Harbor的基本使用

01-Harbor基本功能


Harbor大概有项目、日志、用户管理、仓库管理、同步管理、配置管理和垃圾清理等功能。

项目:就是之前说的镜像仓库,可以创建公开和私有的镜像仓库,公开的项目无需验证即可拉取镜像,但是要推送镜像的话还是需要验证的;私有镜像任何操作都需要验证。

Harbor的基本使用

日志:记录用户对项目的所有创建、删除、修改等操作。

Harbor的基本使用

用户管理:可以在这里创建新的用户或者修改已有用户的权限,密码重置等。

Harbor的基本使用

仓库管理:Harbor支持多个Harbor仓库之间的镜像同步,在仓库管理中可以添加其他的Harbor仓库。

Harbor的基本使用

同步管理:用来编写多个Harbor镜像仓库之间的同步规则。以便更好的管理多个Harbor仓库。

Harbor的基本使用

配置管理:可以修改Harbor仓库的便签、认证模式、是否允许用户自注册、邮箱服务器配置、创建项目的权限和仓库属性和令牌过期时间等。

Harbor的基本使用

垃圾清理:手动或者定时清理Harbor管理的镜像仓库的垃圾文件等。

Harbor的基本使用


默认的公开仓库library中,需要推送镜像是需要认证之后才可以的,拉取镜像则无需认证。

关于认证就是需要在Harbor用户管理中添加用户并设置密码,然后在docker客户端中通过docker login harbor.biu2ful.xyz登陆,只有登陆成功之后才算完成了验证。并且不同的Harbor项目只有拥有权限的成员才可以做相关操作。



02-Harbor镜像的push和pull

这里针对Harbor公开项目和私有项目(也就是镜像仓库)对镜像拉取和推送做一下演示:

2.1

公开项目演示

镜像推送

关于公开镜像仓库的镜像推送,可以进到项目中,有相关的镜像推送的说明:

为了检查一下Harbor是否如所说的那样做了基于角色的控制访问,我们先测试一下镜像的推送:

# 1.先给已经构建的镜像打tagdocker tag nginx:v1 harbor.biu2ful.xyz/library/nginx:v1
# 2.通过docker push将打好tag的镜像推送到Harbor的library仓库docker push harbor.biu2ful.xyz/library/nginx:v1


推送失败,那么我们登陆之后看下能否正常推送,首先在Harbor中添加成员并加入library项目中:

添加用户之后,在[项目] -> [library] -> [成员]中添加刚才添加的用户并授予一定的权限:

查看library中是否有这个成员:

在docker客户端中通过docker login harbor.biu2ful.xyz登陆:

然后尝试推送镜像:

还是失败!

登陆之后推送镜像还是是白是因为docker推送镜像到官方镜像仓库之外的其他仓库都bi虚将其加入到信任列表,所以推送镜像之前我们需要先修改docker配置,将Harbor加入到信任名单中,通过docker info可以查看已信任的名单列表:


vim /etc/docker/daemon.json{    registry-mirrors: [https://rrr9h8xt.mirror.aliyuncs.com],    insecure-registries: [harbor.biu2ful.xyz] }

修改完配置之后需要重启docker

systemctl restart docker

重启完之后再次确认是否已经加入了信任列表:

Harbor的基本使用

接下来再次推送镜像:

Harbor的基本使用

在Harbor的web界面刷新,也可以看到已经推送的镜像:

Harbor的基本使用

镜像拉取

删除本地已经打了tag的镜像,然后从Harbor的library中拉取:

docker image rm harbor.biu2ful.xyz/library/nginx:v1docker pull harbor.biu2ful.xyz/library/nginx:v1

Harbor的基本使用

当然,公开的镜像仓库的拉取是不需要认证的。


2.2

私有项目演示

创建一个私有项目

在[项目] -> [新建项目]中添加一个私有项目:

Harbor的基本使用

创建一个没有该仓库权限的guest账户,用来做对比。

在该项目中添加成员(不是该项目成员的用户是没有权限访问该仓库的):

Harbor的基本使用

镜像推送

将镜像打Tag并推送到这个私有仓库(需要docker login登陆之后才可以):


docker tag tomcat:v2 harbor.biu2ful.xyz/private-hub/tomcat:v2docker push harbor.biu2ful.xyz/private-hub/tomcat:v2

Harbor的基本使用

在私有项目private-hub中查看:

Harbor的基本使用

退出拥有该仓库权限的账号,登陆guest账户来推送:

Harbor的基本使用

将本地镜像打tag并推送到privare-hub仓库:

Harbor的基本使用

显然没有权限推送镜像。


镜像拉取

先用已登录的guest账户拉取镜像:

docker pull harbor.biu2ful.xyz/private-hub/tomcat:v2

Harbor的基本使用

没有权限拉取,然后删除本地对应tag的镜像,换有该仓库权限的账号拉取:

Harbor的基本使用

拉取private-hub中的镜像:

首先删除本地已有的harbor.biu2ful.xyz/private-hub/tomcat:v2镜像:

Harbor的基本使用

拉取镜像:

Harbor的基本使用

OK!拉取成功!


至此,关于Harbor镜像拉取推送和公开私有项目的使用方法大致如此,其他的功能大家可以自己去尝试一下!


上一篇:docker-compose部署harbor


下一篇:SpringBoot学习14:springboot异常处理方式4(使用SimpleMappingExceptionResolver处理异常)