Harbor介绍

Harbor被部署多个docker容器(多个docker容器组成),统称为harbor,因此可以部署在任何支持Docker的Linux发行版本上。

Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求。

Harbor是一个docker私有仓库构建程序,功能非常强大

1、支持多租户签名和认证

2、支持安全扫描和风险分析

3、支持日志审计

4、基于角色的访问控制

5、支持可扩展的API和GUI

6、Image replication between instances

7、国际化做的很好

 

部署Harbor

将docker-compose复制到/usr/local/bin/目录下

[root@server1 ~]# cp -p docker-compose /usr/local/bin/

[root@server1 ~]# chmod +x /usr/local/bin/docker-compose

 

harmonyos仓库地址 harbor仓库是什么_tomcat

 

 

 

上传harbor-offline-installer-v1.2.2.tgz到root目录下解压

[root@server1 ~]# tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local

 

修改Harbor参数文件

[root@server1 ~]# vim /usr/local/harbor/harbor.cfg

 

harmonyos仓库地址 harbor仓库是什么_docker_02

 

 

 

执行安装脚本

[root@server1 ~]# cd /usr/local/harbor/

[root@server1 harbor]# ./install.sh

 

harmonyos仓库地址 harbor仓库是什么_docker_03

 

 

harmonyos仓库地址 harbor仓库是什么_docker_04

 

 

harmonyos仓库地址 harbor仓库是什么_docker_05

 

 

 

 

 

Harbor图形化管理

账户密码默认为admin/Harbor12345

打开浏览器输入IP地址登陆UI界面

 

harmonyos仓库地址 harbor仓库是什么_上传_06

 

 

 

harmonyos仓库地址 harbor仓库是什么_tomcat_07

 

 

 

 

[root@server1 harbor]# docker pull tomcat

 

[root@server1 harbor]# docker tag tomcat:latest 127.0.0.1/liuwei/tomcat:v1

 

新建一个项目liuwei

 

harmonyos仓库地址 harbor仓库是什么_docker_08

 

 

上传镜像

[root@server1 harbor]# docker push 127.0.0.1/liuwei/tomcat:v1

 

harmonyos仓库地址 harbor仓库是什么_harmonyos仓库地址_09

 

 

登录网页查看是否上传成功

 

harmonyos仓库地址 harbor仓库是什么_docker_10

 

 

 

客户端远程访问管理Harbo仓库

 

[root@server2 ~]# docker login -u admin -p Harbor12345 http://192.168.110.10

 

harmonyos仓库地址 harbor仓库是什么_tomcat_11

 

 

必须要先指定私有仓库的地址

[root@server2 ~]# vi /usr/lib/systemd/system/docker.service

在此行后面添加

 

harmonyos仓库地址 harbor仓库是什么_上传_12

 

 

 

重启服务

[root@server2 ~]# systemctl daemon-reload

[root@server2 ~]# systemctl restart docker.service

登录

[root@server2 ~]# docker login -u admin -p Harbor12345 http://192.168.110.10

 

harmonyos仓库地址 harbor仓库是什么_上传_13

 

 

下载、上传镜像到私有仓库

下载nginx镜像

 

harmonyos仓库地址 harbor仓库是什么_docker_14

 

 

 

Nginx镜像打标签

[root@server2 ~]# docker tag nginx:latest 192.168.110.10/liuwei/nginx:v2

 

harmonyos仓库地址 harbor仓库是什么_docker_15

 

 

上传镜像

[root@server2 ~]# docker push 192.168.110.10/liuwei/nginx

 

harmonyos仓库地址 harbor仓库是什么_docker_16

 

 

打开网页查看

 

harmonyos仓库地址 harbor仓库是什么_tomcat_17

 

 

上传成功

 

 

 

 

Harbor管理维护

修改harbor.cfg配置文件,先停止现有的Harbor实例并更新harbor.cfg中的配置,然后再运行prepare脚重新加载配置,最后重新创建并且启动harbor的实例。

修改配置文件前先关闭所有容器

[root@server1 harbor]# docker-compose down -v  

##移除Harbor服务器同时保留镜像数据/数据库

 

harmonyos仓库地址 harbor仓库是什么_上传_18

 

 

如需重新部署,需要移除Harbor服务容器全部数据,持久数据,如镜像,数据库等在宿主机的/data目录下,日志在宿主机的/var/log/Harbor下

rm -rf /data/database/

rm -rf /data/registry/

 

修改配置参数看实际需求

 

harmonyos仓库地址 harbor仓库是什么_上传_19

 

 

 

重新加载配置文件,重启服务

[root@server1 harbor]# ./prepare

 

harmonyos仓库地址 harbor仓库是什么_上传_20

 

 

重启docker服务

[root@server1 harbor]# systemctl restart docker

启动容器服务

[root@server1 harbor]# docker-compose up -d

 

harmonyos仓库地址 harbor仓库是什么_上传_21

 

 

 

 

 

UI界面操作

创建新用户liuwei,记住创建的密码,稍后使用

 

harmonyos仓库地址 harbor仓库是什么_tomcat_22

 

 

harmonyos仓库地址 harbor仓库是什么_harmonyos仓库地址_23

 

 

harmonyos仓库地址 harbor仓库是什么_harmonyos仓库地址_24

 

 

 

 

 

 

在项目里添加新的用户成员

 

harmonyos仓库地址 harbor仓库是什么_tomcat_25

 

 

harmonyos仓库地址 harbor仓库是什么_tomcat_26

 

 

 

 

在server2上,使用新用户远程登陆harbor,来进行下载和上传镜像

先退出已登陆的账号

[root@server2 ~]# docker logout http://192.168.110.10

 

harmonyos仓库地址 harbor仓库是什么_tomcat_27

 

 

 

使用新的账户登陆

[root@server2 ~]# docker login http://192.168.110.10

Username: liuwei

Password:

 

harmonyos仓库地址 harbor仓库是什么_tomcat_28

 

 

下载仓库内的镜像

[root@server2 ~]# docker pull httpd

 

harmonyos仓库地址 harbor仓库是什么_docker_29

 

 

打标签

[root@server2 ~]# docker tag httpd:latest 192.168.110.10/liuwei/httpd:v3

 

harmonyos仓库地址 harbor仓库是什么_tomcat_30

 

 

上传镜像到私有仓库

[root@server2 ~]# docker push 192.168.110.10/liuwei/httpd:v3

 

harmonyos仓库地址 harbor仓库是什么_tomcat_31

 

 

 

上传成功

 

harmonyos仓库地址 harbor仓库是什么_上传_32