简介
Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库【注:helm就相当于k8s的yum】。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的。
部署
安装docker
1 | # 安装必要软件包 |
下载harbor软件包
从官方下载地址下载稳定软件包,这里用 harbor-offline-installer-v1.10.3.tgz。可以参考官方安装文档
Docker-compose安装
方法一
1 | # 下载 |
方法二
1 | # 安装python-pip |
安装
1 | # 将下载好的Harbor二进制包上传到服务器上面,然后解压出来 |
配置
1 | # 进入解压出来的文件夹harbor中,查看 |
查看状态
1 | docker-compose ps |
访问
用浏览器访问,方式为:http://ip,用户名:admin/自行配置的密码
使用
创建用户
进入到里面后,在用户管理中创建了一个用户 sun 。大家自行创建,为了后期需要把一些依赖镜像先推送到harbor仓库中。
项目规划
创建项目,并且在每个项目中都加入了刚才所创建的用户,方便后期登录并推送镜像
ops主要是用来存放的jenkins和slave等运维镜像;appimages 主要存放应用镜像,供k8s拉取发布。
至此,harbor部署完成。
镜像操作
配置私有库
docker 默认是按 https 请求的,由于搭建的私有库是 http 的,所以需要修改 docker 配置,将信任的库的地址写上修改文件 /etc/docker/daemon.json
1 | vim /etc/docker/daemon.json |
重启docker
1 | systemctl restart docker |
配置验证
执行 docker info, 看一下IP地址是否生效,发现已加入。再试一下登录,发现登录成功,然后开始推送把。
登录harbor仓库
1 | docker login 10.145.197.182 |
制作镜像和上传
1 | # 拉取镜像 |
上传验证
web页面查看
管理
修改端口号
1 |
|
停止/启动
1 | docker-compose stop |
卸载Harbor
1 | #执行如下步骤彻底删除Harbor,以便重新安装: |
修改Harbor配置
1 | #首先删除container,修改配置,然后运行install.sh重新启动container,命令如下: |
部署镜像服Registry
1 | # 由于Harbor已经包含了registry的镜像,这里就将就使用这个镜像来部署。 |