Harbor介绍
Harbor是由VMware中国研发团队负责开发的开源企业级Registry,可帮助用户迅速搭建企业级的Registry服务。该项目发布5多个月以来,深受用户喜爱,在GitHub获得了近1000个点赞星星和200多个Forks。 Harbor的GitHub地址: https://github.com/vmware/harbor
其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。它以Docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。Harbor的每个组件都是以Docker容器的形式构建的,使用Docker Compose来对它进行部署。用于部署Harbor的Docker Compose模板位于 /$harbor/docker-compose.yml,由5个容器组成:
Proxy:由Nginx 服务器构成的反向代理。
Registry:由Docker官方的开源registry镜像构成的容器实例。
UI:即架构中的core services, 构成此容器的代码是Harbor项目的主体。
MySQL:由官方MySQL镜像构成的数据库容器。
Log:运行着rsyslogd的容器,通过log-driver的形式收集其他容器的日志。
这几个容器通过Docker link的形式连接在一起,在容器之间通过容器名字互相访问。对终端用户而言,只需要暴露proxy (即Nginx)的服务端口。
环境准备
harbor离线下载包地址:harbor离线安装包harbor-offline-installer-v1.2.2.tgz
Harbor使用几个Docker容器来部署的,因此部署Harbor的节点上要求安装好Docker服务,同时要求安装好Python,DockerCompose,相关组件的版本如下:
python >= 2.7
Docker engine >= 1.10
Docker Compose >= 1.6.0
说明:在openshift中,默认的registry上没有安装docker-compose,因此需要手动安装docker-compose。
docker-compose安装方法
|
|
Harbor安装(HTTP模式)
harbor的安装包下载好之后,上传到registry服务器中。
问题1:在执行./install.sh时报错
安装完成之后,启动docker-compose
问题2:执行docker-compose start时报错
登陆及镜像上传
命令行登陆 (默认密码为Harbor12345,可在harbor.cfg中修改)
|
|
网页登陆
登录并创建自己的镜像仓库(初始用户名/密码初始化为:admin/Harbor12345)。
这里我们使用HTTP方式,那么访问地址为:
http://192.168.10.16/
镜像上传
上传镜像需要先设置insecure-registry
修改好之后,然后修改docker-compose.yml
修改好之后,从命令行登陆
上传成功
harbor会告诉使用者相关上传镜像的命令(以项目名为library为例)
登陆到网页上查看
PS:
1、如果需要用harbor管理registry上已有的镜像时,需要先将已有的镜像导入到harbor管理的镜像仓库中。
2、往registry中上传镜像之前需要先从命令行登陆,登陆之后才能push镜像