Docker私有仓库管理系统Harbor部署
Harbor简介
Harbor介绍
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方式)虚拟设备。
更多信息请查看Readme文档。
Harbor架构

如上所示,Harbor包含6个组件:
Proxy(代理服务器): Harbor组件,例如register,UI和令牌服务都在代理服务后端,代理将来自客户端和浏览器的流量返回给后端各个服务
register(仓库):负责存储Docker Images和处理docker pull/push命令。Harbor会强制对访问images进行控制,register会将客户端引导到令牌服务,以获取每次push和pull请求的有效令牌
Core services(核心服务):Harbor核心功能,主要提供以下服务:
UI(图形用户界面):帮助用户管理register上的image。Webhook是在注册表中配置的一种机制,以便注册表中的图像状态更改可以填充到Harbour的Webhook端点。Harbor使用webhook来更新日志,启动复制以及其他一些功能。令牌服务:负责根据用户的项目角色为每个Docker推送/拉取命令发布令牌。如果从Docker客户端发送的请求中没有令牌,注册中心会将请求重定向到令牌服务。数据库:数据库存储项目,用户,角色,复制策略和图像的元数据。
Job services(Job服务):用于Images复制,可以将本地images同步到其他Harbor实例
Log collector(日志采集器):负责在一个地方收集其他模块的日志
资料
实现讲解
Docker登录过程讲解
Docker push过程讲解
环境说明
1 | # cat /etc/redhat-release |
Harbor部署实践
依赖
- Python should be version 2.7 or higher
- Docker engine should be version 1.10 or higher.
- Docker Compose needs to be version 1.6.0 or higher.
快速部署docker环境
1 | # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo |
Docker Compose 安装
1 | # yum install -y docker-compose |
Harbor离线部署
镜像站点:http://harbor.orientsoft.cn/
1 | # wget http://harbor.orientsoft.cn/harbor-v1.3.0/harbor-offline-installer-v1.3.0.tgz |
访问及测试
http://192.168.200.107
默认账号:admin 密码:配置文件中harbor_admin_password的值

日常应用
Harbor使用
设置客户端
1 | 方法1: |
https配置
1 | # vim harbor.cfg |
生成证书
1 | root@linux-node8 harbor]# mkdir -p /data/cert/ |
客户端配置
1 | [root@linux-node8 harbor]# cp /data/cert/server.crt /etc/docker/certs.d/registry-1.madslq.cn/server.crt |
镜像仓库
成员
镜像仓库
Harbor高可用
私有云相对来说对镜像的请求并非高频,在做HA的时候还是结合实际情况,切勿为了HA而HA,还要综合考量成本,安全等因素。
FQA
1、报错1:
1 | [root@linux-node8 certs.d]# docker login https://registry-1.madslq.cn |
2、报错2:
1 | [root@linux-node8 certs.d]# docker login https://registry-1.madslq.cn |
参考资料
======================================================
希望各位朋友支持一下
- 领取我的阿里云幸运券,谢谢.
- 使用腾讯云资源
- Linode VPS
- 搬瓦工VPS
- 阿里云1888元云产品通用代金券点我
- 阿里云最新活动全民云计算升级-拼团上云更优惠
本文作者:dongsheng
本文地址: https://mds1455975151.github.io/archives/d6923a8b.html
版权声明:转载请注明出处!



