Harbor开源企业级别docker容器仓库系统,企业级docker registry 简单介绍
docker自带的仓库,我们在使用上发现非常难去管理,特别是在对image维护时候,也没有很好的安全管理,对于企业级别的应用,安全还是很重要的,应对需求就产生了我们今天的主角
Harbor registry 企业级镜像管理服务,该软件是对docker 的registry 进行扩展来满足企业使用。
软件特点
1、基于角色的访问控制\基于镜像的复制策略
不同角色人员应有不同的访问权限
开发人员
- Read/Write
测试人员 - Read Only
不同环境人员的角色不同
开发测试环境
- 许多人可以访问
生产系统
- 少数人可以触碰
2、漏洞扫描
定期执行漏洞扫描任务,针对镜像的文件做静态分析
漏洞数据来源:
Debian Secur Bug Tracker
Ububtu CVE Tracker
RedHat Securit Data
Oracle Linux Security Data
Alpine SecDB
3、基于LDAP/AD的集成认证管理
4、images删除后,自动垃圾回收机制
5、镜像来源公正
发布者对镜像签名
下载镜像时使用签名摘要(Digest)
6、图形化界面管理
7、审计和日志功能
8、RESTful API
9,简单部署
以下是项目的相关地址
github地址
https://github.com/vmware/harbor
离线安装软件下载地址
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,供日后进行分析。各个组件之间的关系如下图所示:
- 本文标签: Docker
- 本文链接: http://www.iamlk.cn/article/47
- 版权声明: 本文由Leonidax原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权