Docker仓库---Harbor-企业级仓库

企业级仓库-Harbor

Harbor简介

Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目。
容器应用的开发和运行离不开可靠的镜像管理。从安全和效率等方面考虑,部署在私有环境内的 Registry 是非常必要的。
Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装
作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。
Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。
另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
 

Harbor架构

 
 
proxy - 前端代理,主要是分发前端页面ui访问和镜像上传和下载流量;
ui - web管理页面,包括一个前端页面和后端API,底层使用mysql数据库;
registry - 镜像仓库,负责存储镜像文件,当镜像上传完毕后通过hook通知ui创建repository,registry的token认证也是通过ui组件完成;
adminserver - 系统的配置管理中心附带检查存储用量,ui和jobserver启动时候需要加载adminserver的配置;
jobsevice - 负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log;
log - 日志汇总组件,通过docker的log-driver把日志汇总到一起。
 
准备工作:
配置好epel源
删除前面自己配置的registry
 
配置过程
1. 安装docker-compose
Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。
使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。
[root@docker ~]# yum install -y docker-compose
 
2. 下载harbor
[root@docker ~]# tar xf harbor-offline-installer-v1.9.1.tgz -C /usr/local
 
3. 配置并安装
[root@docker ~]# cd /usr/local/harbor/
[root@docker harbor]# vim harbor.yml
[root@docker harbor]# ./prepare
[root@docker harbor]# ./install.sh
 
4. 安装完成后进入web界面
用户名: admin
密码: 见配置文件
 
5. 测试上传镜像
5.1 先登录harbor的Web界面,创建一个项目
这个项目就相当于公司中不同的项目组,每个项目组分别管理各自的项目镜像,后期该项目不需要时,可直接删除该项目。
 
5.2 给要上传的镜像打标签, 以busybox为例:
[root@docker-2 ~]# docker tag busybox 192.168.10.11/small_target/busybox
 
5.3 登录镜像库
* 注: 这一步有如下问题的参见仓库中的配置
  • 1、https错误
  • 2、http网页错误
  • 3、账户密码错误
 
5.4 上传镜像
可以看到, 镜像已成功上传
5.5 拉取镜像
 
6. harbor的启动与关闭
6.1 启动
6.2 关闭
 

====================================以下自己配置======================================
Harbor服务器端配置HTTPS
1. 申请证书
2. 将证书和私钥文件放到相应的位置, 并修改配置文件, 打开红框行的注释并做相应的修改
3. 重新在harbor目录中执行./install.sh
这样服务器端HTTPS就配置好了
 
客户端配置
在docker配置目录下创建证书目录,
#注意: 证书目录用于存放harbor服务器的证书文件
# 如: docker login www.sunliwork.com
# 当执行上面命令登录harbor时,docker会到/etc/docker/certs.d/下去找 www.sunliwork.com这个目录,看其下面是否有证书可用
# 所以,需要将harbor服务器上的证书scp过来,放到docker客户端的这个目录中
[root@docker-2 ~]# mkdir -p /etc/docker/certs.d/www.sunliwork.com
posted @ 2020-10-20 19:16  梦里花落知多少sl  阅读(91)  评论(0)    收藏  举报