Harbor
一、Harbor简介
harbor是vmware开源的企业级registry,可以让你迅速的搭建自己的私有registry,harbor扩展的docker的registry,使harbor支持:
1,RBAC 基于角色的权限控制
2,基于策略的镜像复制
3,LDAP/AD支持
4,镜像删除和垃圾清理
5,Notary 镜像签名
6,用户界面
7,审计
8,RESTful api
二,Harbor 模块
harbor主要有6大模块,默认的每个harbor的组件都被封装成一个docker container,所以可以通过compose来部署harbor,总共分为8个容器运行,通过docker-compose ps来查看
harbor-adminserver:harbor系统管理接口,可以修改系统配置以及获取系统信息
harbor-db:存储项目的元数据、用户、规则、复制策略等信息
harbor-jobservice:harbor里面主要是为了镜像仓库之前同步使用的
harbor-log:收集其他harbor的日志信息。rsyslogd
harbor-ui:一个用户界面模块,用来管理registry。主要是前端的页面和后端CURD的接口
nginx:harbor的一个反向代理组件,代理registry、ui、token等服务。这个代理会转发harbor web和docker client的各种请求到后端服务上。是个nginx。nginx负责流量转发和安全验证,对外提供的流量都是从nginx中转,它将流量分发到后端的ui和正在docker镜像存储的docker registry
registry:存储docker images的服务,并且提供pull/push服务。harbor需要对image的访问进行访问控制,当client每次进行pull、push的时候,registry都需要client去token服务获取一个可用的token。
redis:存储缓存信息
三、安装
1,环境准备。
操作系统:Centos 7.2
IP:192.168.1.22
docker 17.03.2-ce
docker-compose 安装
curl -L https://github.com/docker/compose/releases/download/1.23.0-rc3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
harbor-offline-installer-v1.5.1.tgz 离线包下载
wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgz
2,解压,修改配置文件cp harbor-offline-installer-v1.5.1.tgz /data/ ;tar zxvf harbor-offline-installer-v1.5.1.tgz
vim /data/harbor/harbor.cfg
hostname = 192.168.1.22
#ssl_cert = /data/cert/server.crt
#ssl_cert_key = /data/cert/server.key
ui_url_protocol = http // 协议
max_job_workers = 50 // 最大并发请求
customize_crt = on // 是否使用自定义证书
harbor_admin_password = Harbor12345 // 管理员密码
db_password = root123 // mysql密码,如果不修改会默认启动一个mysql容器并且密码为root123
3,安装
/bin/sh install.sh
docker-compose查看
docker-compose ps
默认密码:admin/Harbor12345
密码可在harbor.cfg配置文件更改
上传镜像
修改docker启动配置文件docker.service
ExecStart 后边添加--insecure-registry=192.168.1.22
ExecStart=/usr/bin/dockerd --storage-driver=overlay2 --insecure-registry=192.168.1.22
重启docker
systemctl daemon-reload
systemctl restart docker.service
CLI登录harbor
docker login 192.168.1.22
docker push 192.168.1.22/szs/mysql_db:latest
后台查看
下载
环境:192.168.1.20
系统:Centos 7.2
安装docker
修改配置文件:docker.service ExecStart=/usr/bin/dockerd --storage-driver=overlay2 --insecure-registry=192.168.1.22
重启
systemctl daemon-reload
systemctl restart docker.service
连接镜像仓库docker login 192.168.1.22