[toc]
docker企业级私有仓库harbor
1.harbor介绍
Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求。
2.harbor主要功能
-
基于角色访问控制(RBAC)
- 在企业中,通常有不同的开发团队负责不同的项目,镜像像代码一样,每个人角色不同需求也不同,因此就需要访问权限控制,根据角色分配相应的权限。
- 例如,开发人员需要对项目构建这就用到读写权限(push/pull),测试人员只需要读权限(pull),运维一般管理镜像仓库,具备权限分配 能力,项目经理具有所有权限。
-
镜像复制
- 可以将仓库中的镜像同步到远程的Harbor,类似于MySQL主从同步功能。
-
LDAP
- Harbor支持LDAP认证,可以很轻易接入已有的LDAP。
-
镜像删除和空间回收
- Harbor支持在Web删除镜像,回收无用的镜像,释放磁盘空间。
-
图形页面管理
- 用户很方面搜索镜像及项目管理。
-
审计
- 对仓库的所有操作都有记录。
-
REST API
- 完整的API,方便与外部集成。
3.harbor组件

| 组件 | 功能 |
|---|---|
| harbor-adminserver | 配置管理中心 |
| harbor-db | Mysql数据库 |
| harbor-jobservice | 负责镜像复制 |
| harbor-log | 记录操作日志 |
| harbor-ui | Web管理页面和API |
| nginx | 前端代理,负责前端页面和镜像上传/下载转发 |
| redis | 会话 |
| registry | 镜像存储 |
4.harbor部署环境要求
2核4G+40G硬盘
docker 17.06+
docker compose 1.18+
openssl 最新版
Hardware
| Resource | Capacity | Description |
|---|---|---|
| CPU | minimal 2CPU | 4 CPU is preferred |
| Mem | minimal 4GB | 8GB is preferred |
| Disk | minimal 40GB | 160GB is preferred |
Software
| Software | Version | Description |
|---|---|---|
| Docker engine | version 17.06.0-ce+ or higher | For installation instructions, please refer to: docker engine doc |
| Docker Compose | version 1.18.0 or higher | For installation instructions, please refer to: docker compose doc |
| Openssl | latest is preferred | Generate certificate and keys for Harbor |
Network ports
| Port | Protocol | Description |
|---|---|---|
| 443 | HTTPS | Harbor portal and core API will accept requests on this port for https protocol, this port can change in config file(harbor入口和核心API将接受请求在此端口上的https协议,该端口可以在配置文件中更改) |
| 4443 | HTTPS | Connections to the Docker Content Trust service for Harbor, only needed when Notary is enabled, This port can change in config file(连接到Docker内容信任服务的端口,只有在启用公证员时才需要,该端口可以在配置文件中更改) |
| 80 | HTTP | Harbor portal and core API will accept requests on this port for http protocol(Harbor portal和core API将在这个端口上接受http协议请求) |
5.安装docker compose
harbor需要docker compose1.18+版本
1.