原创

Harbor开源企业级别docker容器仓库系统,企业级docker registry 简单介绍

温馨提示:
本文最后更新于 2021年12月25日,已超过 1,079 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

Harbor开源企业级别docker容器仓库系统,企业级docker registry 简单介绍-图片1

 
 

 
 

docker自带的仓库,我们在使用上发现非常难去管理,特别是在对image维护时候,也没有很好的安全管理,对于企业级别的应用,安全还是很重要的,应对需求就产生了我们今天的主角

Harbor registry 企业级镜像管理服务,该软件是对docker 的registry 进行扩展来满足企业使用。

 
 

软件特点

 
 

1、基于角色的访问控制\基于镜像的复制策略

不同角色人员应有不同的访问权限

开发人员
- Read/Write

测试人员 - Read Only

不同环境人员的角色不同

开发测试环境
- 许多人可以访问

生产系统
- 少数人可以触碰

 
 

Harbor开源企业级别docker容器仓库系统,企业级docker registry 简单介绍-图片2

2、漏洞扫描

定期执行漏洞扫描任务,针对镜像的文件做静态分析

漏洞数据来源:

Debian Secur Bug Tracker

Ububtu CVE Tracker

RedHat Securit Data

Oracle Linux Security Data

Alpine SecDB

 
 

3、基于LDAP/AD的集成认证管理

4images删除后,自动垃圾回收机制

5、镜像来源公正

发布者对镜像签名

下载镜像时使用签名摘要(Digest)

6、图形化界面管理

7、审计和日志功能

8、RESTful API

9,简单部署

 
 

以下是项目的相关地址

github地址

https://github.com/vmware/harbor

离线安装软件下载地址

http://harbor.orientsoft.cn/

 
 

https://github.com/vmware/harbor/releases

 
 

软件架构

Harbor 在架构上主要由五个组件构成:

  • Proxy:Harbor 的 registry, UI, token 等服务,通过一个前置的反向代理统一接收浏览器、Docker 客户端的请求,并将请求转发给后端不同的服务。
  • Registry:负责储存 Docker 镜像,并处理 docker push/pull 命令。由于我们要对用户进行访问控制,即不同用户对 Docker image 有不同的读写权限,Registry 会指向一个 token 服务,强制用户的每次 docker pull/push 请求都要携带一个合法的 token, Registry 会通过公钥对 token 进行解密验证。
  • Core services:这是 Harbor 的核心功能,主要提供以下服务:

UI:提供图形化界面,帮助用户管理 registry 上的镜像(image),并对用户进行授权;

webhook:为了及时获取 registry 上 image 状态变化的情况, 在 Registry 上配置 webhook,把状态变化传递给 UI 模块;

token 服务:负责根据用户权限给每个 docker push/pull 命令签发 token。Docker 客户端向Registry 服务发起的请求,如果不包含token,会被重定向到这里,获得 token 后再重新向 Registry进行请求;

  • Database:为 core services 提供数据库服务,负责储存用户权限、审计日志、Docker image 分组信息等数据。
  • Log collector:为了帮助监控 Harbor 运行,负责收集其他组件的 log,供日后进行分析。各个组件之间的关系如下图所示:

Harbor开源企业级别docker容器仓库系统,企业级docker registry 简单介绍-图片3

 
 

 
 

 
 

 
 

正文到此结束
本文目录