1.简单说明
- Harbor是由VMware公司开源的企业级的Docker Registry管理项目,相比docker官方拥有更丰富的权限权利和完善的架构设计,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
2.组件
- Harbor 由 5 个容器组成:
容器(组件)名称 | 说明 |
---|---|
Proxy | 由 Nginx 服务器构成的反向代理 |
Registry | 由 Docker 官方的开源 registry 镜像构成的容器实例 |
Core services | 构成此容器的代码是 Harbor 项目的主体 |
Mysql | 由官方 MySql 镜像构成的数据库容器 |
Log | 运行着 rsyslogd 的容器,通过 log-driver 的形式收集其他容器的日志 |
- 其中Core services是Harbor的核心功能,主要提供以下的服务:
组件 | 说明 |
---|---|
UI | 提供图形化界面,帮助用户管理registry上的镜像(image), 并对用户进行授权 |
Webhook | 为了及时获取registry 上image状态变化的情况, 在Registry上配置webhook,把状态变化传递给UI模块 |
Token | 负责根据用户权限给每个docker push/pull命令签发token. Docker 客户端向Registry服务发起的请求,如果不包含token,会被重定向到这里,获得token后再重新向Registry进行请求 |
- 具体关系图,如图所示:
- 测试环境
| :---: | :----: |
| 测试配置 | 8核4G |
| 测试系统 | Centos7.7-1908 |
| Docker版本 | 19.03.6 |
| Docker-Compose版本 | 1.25.1 |
| Harbor版本 | 1.10.3 |
3.安装Harbor
- 下载Harbor
Harbor有在线版,以及离线版,这里就只介绍离线版的安装
wget https://github.com/goharbor/harbor/releases/download/v1.10.3/harbor-offline-installer-v1.10.3.tgz
- 解压并且更改配置
将hostname更改为本机ip
tar zxvf harbor-offline-installer-v1.10.3.tgz
cd harbor
vim harbor.yml
hostname = 10.0.0.60
- 执行安装
执行安装脚本,安装过程过于长,我就不放了,一般只要修改好IP,然后执行安装脚本就没有什么大问题的
sh install.sh
-
安装完成
看到以下信息,就说明已经正常安装完成了
-
访问私有仓库
浏览器输入:10.0.0.60,默认账户/密码:admin/Harbor12345
登陆之后修改一下密码。
4.验证使用
- 去另一台装有Docker的机器进行pull(拉取)镜像
拉取前提是要在拉取的机器配置私有仓库并且登录仓库
cat > /etc/docker/daemon.json << EOF
{ "insecure-registries":["10.0.0.16"] }
EOF
[root@Test harbor]docker login -u admin -p Harbor12345 10.0.0.60
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
提示登录成功了
- 拉取镜像
从私有仓库拉取Nginx,我们已经提前把一些镜像存到了私有仓库
[root@Test harbor]docker pull 10.0.0.60/library/Nginx:1.16
1.16: Pulling from library/Nginx
923sd955edcd: Pull complete
Digest:sha256:923sd90a8912e16d4beb8689720a175852c8d60f52f0b4447a209bb01e336a
Status: Downloaded newer image for 10.0.0.60/library/Nginx:1.16
拉取完成,说明我们已经完成私有仓库的配置
评论区