企业级私有镜像仓库的使用
简介
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
- 基于角色的访问控制- 用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
- 镜像复制 - 镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
- 图形化用户界面 - 用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。
- AD/LDAP 支持 - Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。
- 审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。 - RESTful API - RESTful API 提供给管理员对于Harbor更多的操控, 使得与其它管理软件集成变得更容易。
- 部署简单 - 提供在线和离线两种安装工具, 也可以安装到vSphere平台(OVA方式)虚拟设备。
准备条件
Harbor被部署为多个Docker容器,因此可以部署在任何支持Docker的Linux发行版上,目标主机需要Docker,并且要安装Docker Compose
硬件
Resource Capacity Description CPU minimal 2 CPU 4 CPU is preferred Mem minimal 4GB 8GB is preferred Disk minimal 40GB 160GB is preferred 软件
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 网络端口
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 4443 HTTPS Connections to the Docker Content Trust service for Harbor, only needed when Notary is enabled, This port can change in config file 80 HTTP Harbor portal and core API will accept requests on this port for http protocol
Harbor安装
Harbor在github上的地址,从readme.md中可以知道安装的方式分为
- Online installer(这是harbor的一种安装方式,与本文标题线上搭建无关联)
- Offline installer(本文主讲)
- OVA installer
至于Online installer和OVA installer这两种搭建方式,本文不会提及,有兴趣的同学可以自己尝试,相信在看完本文之后你也可以完成自己的Harbor仓库的搭建。
Offline installer
在官方的发布版本中,找到一个最新的发布版本(本文写与2019.07.18,官方version为1.8.1)
下载之后会得到一个类似于harbor-offline-installer-v1.8.1.tgz的文件,用命令
1 | tar -zxvf harbor-offline-installer-v1.8.1.tgz |
Harbor目录简介
- harbor.v1.8.1.tar.gz
- harbor.yml 启动harbor时使用的配置文件
- install.sh 是一个shell脚本启动脚本
- LICENSE 该版本许可信息
- prepare python写的初始化脚本
http安装方式
安装步骤
配置好harbor.yml
运行install.sh 或者(./prepare 再使用docker-compose up -d启动)
其他docker客户端如何推送到该私有镜像仓库呢?
Harbor的默认安装使用HTTP - 因此,您需要将该选项添加
--insecure-registry
到客户端的Docker守护程序并重新启动Docker服务。在客户端的docker服务器中的/etc/docker/daemon.josn中配置
1
2
3{
"insecure-registry":"harbor服务器的ip"
}
登录
1
docker login ip -u admin -p Harbor12345
https安装方式
首先也是配置harbor.yml文件(放开https配置,配置相应的域名)
根据官方的文档生成对应的ssl密钥文件
在对应的dockers客户端的/etc/hosts添加相应的域名解析
运行install.sh 或者(./prepare 再使用docker-compose up -d启动)
在电脑上配置 C:\Windows\System32\drivers\etc\hosts增加相应的域名解析,使用浏览器在https://ip可以访问harbor的web页面
登录
1
docker login 域名 -u admin -p Harbor12345