您的位置:首页 > 运维架构 > Docker

使用Harbor搭建Docker私有镜像仓库服务

2016-10-31 14:17 1351 查看
http://1.chaoxu.sinaapp.com/archives/3969

一、什么是Harbor

Harbor是一个由VMware中国区团队开发并开源的企业级Docker镜像仓库管理服务。它对原有的Docker
Registry服务进行了扩展,添加了更多企业用户所需要的功能。Harbor被设计为用于部署企业内部使用的私有镜像仓库环境,这种私有服务对于非常关心安全的企业来说是十分重要的。另外,私有仓库服务通过避免从外网下载镜像可以节省大量时间。尤其适用于一些不能连接外网环境的场景,这对用户而言,是十分重要的。

其他特点还包括了提供可视化的Web界面管理镜像,基于角色的访问控制(ACL)、AD/LDAP的集成、以及审计日志(Audit
logging) 等企业用户需要的功能,同时还原生支持中文。Harbor的每个组件都是以Docker容器的形式构建和运行的,并使用Docker Compose来进行部署。

其多Registry仓库之间镜像同步功能通过类似MySQL数据库的主从或主主的架构模式,实现了类似负载均衡、异地共享、准HA等多种应用场景。

Harbor使用go语言开发,WEB框架采用beego。容器应用的开发和运行离不开可靠、方便的镜像管理。从安全和效率等方面考虑,在企业内部署一个私有环境的镜像仓库服务是非常有必要的。

主要组件

Harbor系统由五个容器组成:Proxy、Core Services(包含UI, tokenservice和webhook)、Database、Registry和Log Collector。

Proxy提供反向代理服务,用户的不同请求由Proxy分发到后端的UI或者Registry。Harbor中使用的是官方的nginx镜像。

Core Services是Harbor项目的核心组件,主要提供权限管理、审计、管理界面UI、token service以及可供其他系统调用的API等功能。

Database提供数据持久化服务,采用了官方的mysql镜像。

Registry是Docker官方的开源的Registry镜像,主要提供镜像的存储和分发功能。

Log Collector负责收集其他容器的日志并进行日志轮转。

各个容器之间的关系如下图所示:



图摘选自:
http://geek.csdn.net/news/detail/65989
下载源码

env GIT_SSL_NO_VERIFY=true git clone https://github.com/vmware/harbor
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: