Harbor 简介:

Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目, 是对官方开源的 Docker Registry 的扩展,增加了一些企业需要的功能,如安全、复制和管理。

Harbor 功能及特点:

(1)基于角色的访问控制 (2)基于策略的镜像复制 (3)镜像扫描
(4)LDAP/AD 支持 (5)镜像删除、垃圾回收 (6)UI 界面
(7)日志审计 (8)RESTful API (9)易于部署

架构介绍

Habor 在架构上主要由五个组件构成:
(1)Proxy: Harbor 的registry, UI, token 等服务,通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务。
(2)Registry: 负责存储Docker 镜像, 并处理docker push/pull 命令。由于要对用户进行访问控制(不同用户对docker image有不同的读写权限),Registry 会指向一个token服务,强制用户每次docker push/pull 请求都要携带一个合法的token, Registry 会进行验证。
(3)Core services: Harbor的核心功能, 主要提供以下服务:
UI: 提供图形化界面, 帮助用户管理registry 上的镜像, 并对用户进行授权
webhook: 监控Registry上的image状态变化,把状态及时传递给UI 模块
token 服务: 根据用户权限给每个docker push/pull 命令签发token
(4) Database: 负责存储用户权限、审计日志、Docker image 分组信息等数据
(5) Log collector: 负责收集其他组件的log

部署配置:


配置如下:

# hostname设置访问地址,可以使用ip、域名
# 邮件设置,发送重置密码邮件时使用
email_identity =

email_server = smtp.mxhichina.com
email_server_port = 465
email_username = connor@xxxx.com
email_password = *******
email_from = Harbor @xxxx.com>
email_ssl = true

# 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证
auth_mode = ldap_auth

# LDAP认证时配置项
ldap_searchdn = cn=Manager,dc=xxxx,dc=com
ldap_search_pwd = ********
ldap_basedn = dc=xxxx,dc=com
ldap_uid = uid
ldap_scope = 3
ldap_timeout = 5


上传/下载镜像

在Docker daemon的启动配置中加入以下参数 --insecure-registry registry.intra.xxxx.com
上传镜像:
(1) 登录: docker login -u $USER -p $PWD registry.intra.xxxx.com
(3) 上传镜像:docker push registry.intra.xxxx.com/library/nginx:1.9.1