1、 Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装。harbor还是由一个个镜像组成一个架构,实现私有仓库的功能。
它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计(用户都做了哪些操作)等功能外,它还整合了K8s(谷歌的产品)的插件(Add-ons)仓库。
即 Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库.注:helm就相当于k8s的yum。
另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair。Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞 库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的。
2、 Harbor安装有3种方式:
在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
离线安装:安装包包含部署的相关镜像,因此安装包比较大
OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor本文记录通过离线安装的方式部署。
提示:演示离线安装方式搭建
步骤:
1、 下载docker-compse工具、harbor软件包
也可在线下载:wget https://storage.googleapis.com/harbor-releases/release-1.7. 0/harbor-offline-installer-v1.7.4.tgz
2、 配置
docker-compse
1)重命名并放到环境变量目录
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
2)赋予执行权
cd /usr/local/bin/
chmod +x docker-compose
1) 解压
tar xf /usr/local/harbor-offline-installer-v1.7.4.tgz -C /usr/local
2)修改配置
cd /usr/local/harbor/
vim harbor.cfg
此项必须改,改成Harbor服务IP,其他选项视情况而定
3)安装
进入目录
cd /usr/local/harbor/
先以启动docker为前提
systemctl start docker
安装
./install.sh
4)管理
docker-compose可以管理harbor服务,使用以下命令,必须和docker-compose.yml这个文件在同一个目录下,其实是通过管理这个文件而管理harbor仓库的。
启动harbor: docker-compose start (或者up,后面加d,是在后台启动)
停止harbor: docker-compose stop
重启harbor: docker-compose restart
3、 扩展知识
启动compose相当于启动这几个容器,各自含义如下:
Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI,token等服务。
db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。
UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。
jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log。
Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。
Registry:镜像仓库,负责存储镜像文件。
Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。
1、浏览器访问地址:http://172.16.0.128/harbor
默认用户名及密码
用户:admin
密码:Harbor12345
2、创建项目-添加成员(先在用户管理创建成员)
3、客户端访问(客户端IP:172.16.0.143)
1)修改配置,使其默认网络仓库指向Harbor服务器
vim /usr/lib/systemd/system/docker.service
重启:systemctl restart docker
2)登录
报错:连接拒绝
解决:点击仓库管理-新建目标-添加一个仓库,即可解决