1.Harbor简介
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,可以用来构建企业内部的Docker镜像仓库,可帮助用户迅速搭建企业级的Registry服务。
它提供了管理图形界面,基于角色的访问控制(Role Based Access Control),镜像远程复制(同步),AD/LDAP集成、以及审计日志等企业用户需求的功能。同时还原生支持中文
图形化用户界面:
用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。
基于角色的访问控制:
用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
审计管理:
所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
国际化:
基于英文与中文语言进行了本地化。可以增加更多的语言支持。
RESTful API:
提供给管理员对于Harbor更多的操控,使得与其它管理软件集成变得更容易。
与Clair集成,添加漏洞扫描功能。Clair是coreos开源的容器漏洞扫描工具,在容器逐渐普及的今天,容器镜像安全问题日益严重。Clair是目前少数的开源安全扫描。
Notary是Docker镜像的签名工具,用来保证镜像在pull,push和传输过程中的一致性和完整性,避免中间人攻击,避免非法的镜像更新和运行。
基于策略的Docker镜像复制功能,可在不同的数据中心、不同的运行环境之间同步镜像,并提供友好的管理界面,大大简化了实际运维中的镜像管理工作
2.Harbor的安装
安装之前确保前置条件是否满足,需要安装docker-compose、docker以及python2.7以上还有openssl,rhel7.6操作系统自带了python和openssl
(1)配置docker的yum仓库,安装docker
前面博客有docker安装的具体过程,这里简单展示需要配置的步骤
(2)下载并解压Harbor安装包
https://github.com/goharbor/harbor/releases 到github官网下载offline离线包,上传到实验所需要安装的机器上
(3)解压完毕,进入harbor目录,编辑harbor.yml文件
先测试一下,用http的80端口(不加密),注销掉https的443端口,执行install.sh脚本,运行成功,生成/data目录后,再用https:443认证方式来操作
hostname: reg.westos.org ##自定义主机名
harbor_admin_password: westos #设置admin用户登录时的密码为westos