一、Harbor简介

Harbor是由VMware公司中国团队为企业用户设计的Registry server开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。

作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个 Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

基于角色的访问控制:用户与Docker镜像仓库通过"项目"进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。

镜像复制:镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。

图形化用户界面:用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。

AD/LDAP支持:Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。

审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。

国际化:已拥有英文、中文、德文、日文和俄文的本地化版本。

RESTful API:RESTful API提供给管理员对于Harbor更多的操控, 使得与其它管理软件集成变得更容易。

部署简单:提供在线和离线两种安装工具,也可以安装到 vSphere 平台(OVA 方式)虚拟设备。

二、Harbor安装(172.16.11.1)

1、安装Docker

curl -sSL https://get.daocloud.io/docker | sh
systemctl start docker

2、安装docker-compose

wget https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -O /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose

3、安装Harbor

1)下载安装包,版本为v2.7.1

wget https://github.com/goharbor/harbor/releases/download/v2.7.1/harbor-offline-installer-v2.7.1.tgz

2)解压

tar xf harbor-offline-installer-v2.7.1.tgz

3)安装

cd harbor
cp   harbor.yml.tmpl    harbor.yml

修改hostnmae
vim harbor.yml
注释https,不然在安装的时候会报错:ERROR:root:Error: The protocol is https but attribute ssl_cert is not set
其他配置保持默认
在这里插入图片描述

执行安装

./install.sh

在这里插入图片描述
在这里插入图片描述
从上图可以看到Harbor已经成功安装并启动了。

4、查看Harbor的状态

docker-compose ps

在这里插入图片描述

5、访问Harbor仓库

浏览器访问http://172.16.11.1,默认用户名密码为:admin/Harbor12345
在这里插入图片描述
在这里插入图片描述

三、客户端验证

1.安装Docker(172.16.11.6)

curl -sSL https://get.daocloud.io/docker | sh

2.配置客户端信任http

由于从docker1.3.2版本开始,使用registry时,必须使用TLS保证其安全。我们不用https的话,需要在客户机中增加一个配置文件。

vim /etc/docker/daemon.json
{
        "registry-mirrors": ["http://172.16.11.6:5000"]
}

启动Docker

systemctl start docker

3.修改docker.service

sed -i "/ExecStart/s/$/ --insecure-registry=172.16.11.1/"   /usr/lib/systemd/system/docker.service
echo "Harbor12345" >/etc/docker_passwd

4.重新启动Docker

systemctl daemon-reload
systemctl restart docker

5.登录Harbor仓库

cat /etc/docker_passwd |docker login -u admin --password-stdin http://172.16.11.1

在这里插入图片描述

6.验证推送镜像

6.1pull镜像

docker pull hello-world

在这里插入图片描述

6.2打标签

docker tag hello-world 172.16.11.1/library/hello-world:v1

6.3推送到Harbor

docker push 172.16.11.1/library/hello-world:v1

在这里插入图片描述

7.查看Harbor

在这里插入图片描述
从上图可以看出镜像已经上传成功了。

8.删除本地的镜像,从Harbor上pull

8.1查看本地镜像

docker  images

在这里插入图片描述

8.2删除本地镜像

docker rmi -f 9c7a54a9a43c

在这里插入图片描述

docker images

在这里插入图片描述

8.3从Harbor上pull镜像

docker pull 172.16.11.1/library/hello-world:v1

在这里插入图片描述

8.4查看镜像

docker images

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐