Harbor 介绍及安装部署

Harbor是VMware推出的私有Registry服务器,提供RBAC、LDAP、审计等企业功能,支持镜像复制和中文。相比Registry,Harbor具备分层传输、WEB界面、水平扩展和安全机制。本文介绍了Harbor的基本概念,与Registry的对比,以及详细的安装部署步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Harbor介绍

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

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

2. Harbor和Registry的比较

  • Harbor和Registry都是Docker的镜像仓库,但是Harbor作为更多企业的选择,是因为相比较于Regisrty来说,它具有很多的优势。
  1. 提供分层传输机制,优化网络传输
    Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。
  2. 提供WEB界面,优化用户体验
    只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。
  3. 支持水平扩展集群
    当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。
  4. 良好的安全机制
    企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。
  5. Harbor提供了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制。kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制

3. Harbor的简单安装部署

  1. 安装 python-pip和docker-compose
    可以通过wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo配置阿里云的yum源
    yum install -y python-pip
    pip install docker-compose
    速度慢的话可以用国内的镜像源
    pip install docker-compose -i https://pypi.douban.com/simple
    在这里插入图片描述
  • 安装docker-compose过程中报错三次

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 通过pip install --upgrade pip sudo pip install --ignore-installed requestssudo pip install --ignore-installed subprocess32解决
    在这里插入图片描述
  1. 下载harbor安装包
  • 地址:
  • https://github.com/goharbor/harbor/releases
  • https://github.com/goharbor/harbor/releases/download/v2.0.1/harbor-offline-installer-v2.0.1.tgz
    我下载的是2.0.1版本
    在这里插入图片描述
  1. 解压harbor安装包
    在这里插入图片描述

tar xf harbor-offline-installer-v2.0.1.tgz
在这里插入图片描述

mkdir -p /opt/harbor创建目录存放harbor数据

cp harbor.yml.tmpl harbor.yml改配置文件

在这里插入图片描述
在这里插入图片描述

  1. systemctl start docker开启docker
  2. ./install.sh执行安装脚本
  • 出现错误,原因是没有设定https

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 访问harbor web 界面
  • http://192.168.43.17 admin Harbor12345
    在这里插入图片描述

在这里插入图片描述

  1. 使用
  • 登录 docker login 192.168.43.17
    在这里插入图片描述

  • 报错解决:修改Docker的配置文件/etc/docker/daemon.json :

  • vim /etc/docker/daemon.json

{
"insecure-registries":["192.168.43.17"]
}

在这里插入图片描述

  • systemct daemon-reload重启
  • systemctl reload docker
    在这里插入图片描述
  1. 新建项目
    在这里插入图片描述

  2. 给构建好的镜像打标签并上传到harbor
    在这里插入图片描述

  • 已经出现

在这里插入图片描述

  1. 下载镜像

docker pull 192.168.43.17/myr/goharbor/nginx-photon

  1. Habor的停止与开启
cd soft/harbor       //切换到harbor安装包目录
docker-compose stop   //停止Harbor
docker-compose start  //启动Harbor
  • 关于Harbor的架构解释可以参考下面文章

  • https://ivanzz1001.github.io/records/post/docker/2018/04/20/docker-harbor-architecture

### Harbor 安装部署教程最佳实践 #### 准备工作 为了顺利安装Harbor,需先确保服务器上已正确安装DockerDocker Compose。这一步骤至关重要,因为Harbor依赖于这两个组件来运行其服务[^2]。 #### 下载与解压Harbor软件包 访问官方页面获取最新版本的Harbor离线安装文件,并将其下载至目标主机。之后通过命令行工具对其进行解压缩操作,以便后续配置工作的开展[^1]。 #### 配置Harbor参数 进入解压后的目录找到`harbor.yml`配置文件,在这里可以设置诸如域名、对外提供服务所使用的端口号以及数据持久化所需的存储路径等基本信息。对于生产环境中推荐采用HTTPS协议保障通信安全;此时则需要准备好相应的SSL/TLS证书并按照指引完成相应部分的填写[^3]。 ```yaml # Example of harbor configuration file snippet hostname: core.harbor.domain.com http: port: 80 https: port: 443 certificate: /your/path/to/cert.pem private_key: /your/path/to/key.pem ... ``` #### 执行安装脚本 当所有的前期准备工作都已完成以后,就可以利用提供的shell脚本来启动整个平台了——只需简单地输入如下指令: ```bash ./install.sh ``` 此过程中会自动读取之前编辑好的`.yml`文档中的各项设定值,并据此创建必要的网络结构和服务实例集合。 #### 测试连接性 一旦上述流程结束,则可以通过浏览器尝试打开指定地址来进行初步的功能验证。如果一切正常的话应该能够看到默认界面提示成功搭建起私有Registry站点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值