Docker的Harbor私有仓库部署和管理(图文详情!)
文章目录
一、关于Docker Harbor
1、Docker Harbor简介
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目。
2、Harbor的优势
●基于角色控制
●基于镜像的复制策略
●支持LDAP/AD
●图像删除和垃圾收集
●图形UI
●审计
●RESTful API
3、Harbor自己的组件
Core services(Admin Server)是Harbor的核心功能,主要提供以下服务:
- API:提供Harbor RESTful API
- UI:提供图形化界面,帮助用户管理Registry上的镜像, 并对用户进行授权。
- Webhook:为了及时获取Registry上镜像状态变化的情况,在Registry上配置Webhook,把状态变化传递给UI模块。
- Auth服务:负责根据用户权限给每个Docker Push/Pull命令签发Token。Docker客户端向Registry服务发起的请求,如果不包含Token,会被重定向到这里,获得Token后再重新向Registry进行请求。
- Replication Job Service:提供多个Harbor实例之间的镜像同步功能。
- Log Collector:为了帮助监控Harbor运行,负责收集其他组件的日志,供日后进行分析。
4、Harbor依赖的外部组件
-
Proxy(Nginx)
通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务 -
Registry(Docker官方镜像仓库)
负责储存Docker镜像,并处理docker push/pull命令 -
Database
为core services提供数据库服务 -
Log collector
负责收集其他组件的 log,供日后进行分析
5、Docker 私有仓库架构拓扑
二、Harbor构建Docker私有仓库环境及需求
1、环境搭建
主机 | 操作系统 | 主机IP | 主要软件及版本 |
---|---|---|---|
服务端 | Centos 7 | 192.168.2.8 | docker 20.10.5、docker-compose、harbor-offline-v1.2.2 |
客户端 | Centos 7 | 192.168.2.7 | docker 20.10.5 |
2、案例需求
- 通过Harbor创建Docker私有仓库
- 图形化管理Docker私有仓库镜像
三、Harbor构建Docker私有仓库的部署
1、压缩包准备及查看 Docker-Compose 版本判断安装是否成功
服务端:192.168.2.8 docker 20.10.5、docker-compose、harbor-offline-v1.2.2
把harbor-offline-installer-v1.2.2.tgz压缩包和docker-compose包拖到Xshell里
//查看 Docker-Compose 版本判断安装是否成功
cp docker-compose /usr/local/bin/
docker-compose -v
2、部署 Harbor 服务
服务端:192.168.2.8 docker 20.10.5、docker-compose、harbor-offline-v1.2.2
Harbor 被部署为多个 Docker 容器,因此可以部署在任何支持 Docker 的 Linux 发行版 上。
服务端主机需要安装 Python、Docker 和 Docker Compose。