Harbor 简介
Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库【注:helm就相当于k8s的yum】。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的。
一、使用管理员分配用户
使用管理员登录harbor控制台,进入"系统管理"-->>"用户管理",点击创建用户:
填写创建用户相关信息,即创建一个用户账号
二、新建项目
项目 -->> 新建项目
填写项目名称,并设置项目镜像仓库是否支持公开访问(这里设置为公开 )
创建完成后,可以看到所建的镜像项目的管理界面
可以针对该项目,添加访问成员,并赋予权限
其中,
1)概要:显示项目的总体容量,镜像仓库数量。
2)镜像仓库:用户实际管理所有的镜像。
3)成员:用于维护能访问该镜像仓库的成员管理以及不同的访问权限控制。
4)标签:用于管理镜像库中已经有的镜像标签。
5)配置管理:配置镜像仓库的基础控制,如镜像仓库是否公开访问、是否扫描漏洞、漏洞白名单及有效期等。
其他的不怎么常用,暂时不做介绍。
三、创建镜像仓库并推送镜像
前置条件:需要熟悉docker镜像推送和拉取的相关命令及操作。
获取推送的地址和命令
在项目管理界面中"镜像仓库"标签页下,点击右侧"推送镜像的docker命令",系统会提示推送镜像相关的命令,点击右侧的小方块,可复制命令。复制这个命令有个好处是,系统已经自动帮你拼好整个要推送的目标地址的URL,你只需要修改其中的SOURCE_IMAGE[:TAG]和IMAGE[:TAG]部分为你自己的镜像名称即可。
以推送hello-world镜像到镜像仓库为例:
[root@Ansible ~]# docker pull hello-world
[root@Ansible ~]# docker tag hello-world 172.168.1.249/test/hello-world:latest
[root@Ansible ~]# docker login -u test -p Harbor123456 172.168.1.249
[root@Ansible ~]# docker push 172.168.1.249/test/hello-world:latest
注:铭记docker推送镜像的三部曲
1、docker login 到镜像仓库服务器
2、docker tag 对本地镜像打tag标签到镜像仓库服务器
3、docker push 镜像到镜像仓库中
Docker登录Harbor镜像仓库
docker login -u 用户名 -p 用户名密码 Harbor服务器地址
打标签
docker tag hello-world:latest Harbor服务器地址/项目/镜像名称:标签号
推送镜像
docker push Harbor服务器地址/项目/镜像名称:标签号
推送成功后,仓库中显示如下:
点击推送上来的镜像名称,能看到具体不同tag的镜像,如下图
至此,Harbor推送镜像操作完成。
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!
评论