一、搭建环境:
1.虚拟机Centos7.x;
2.harbor私有仓库
3.集成clair
二、harbor私有仓库搭建:
1.安装docker和docke-compose(安装过程不多加赘述)
若安装的docker-compose二进制文件,需要赋予可执行权限:
chmod +x /usr/local/bin/docker-compose
注:安装完docker后记得 systemctl start docker(启动docker后台服务)
2.安装Harbor
(1)下载Harbor的在线安装包(较快):
建议下载1.6以上版本,因后续clair需要postgres数据库,harbor1.6前版本用的是mysql数据库,1.6之后只使用postgres数据库,下载方式(也可用其他获取方法,版本符合就可以):
wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-online-installer-v1.6.0.tgz
(2)解压:
tar zxf harbor-online-installer-v1.6.0.tgz -C /usr/local/
(3)修改配置文件
cd /usr/local/harbor/
vim /usr/local/harbor/harbor.cfg
将hostname修改为虚拟机IP,方便访问;修改harbor_admin_password,方便记住的密码即可:
注:在harbor.cfg中与clair相关的设定信息如下:(若私人环境则不需要)
设定值使用如上缺省值,只是修改
clair_db_password:password -> liumiaopw
(4) 在解压目录下安装Harbor和clair
./install.sh --with-clair
----------------------(关闭虚拟机后有时会发生访问不了设置的地址,重新敲一遍这个命令,百试百灵)--------------------------------------------
安装成功!
Harbor 的日常运维管理是通过docker-compose来完成的,Harbor本身有多个服务进程,都放在docker容器之中运行,我们可以通过docker ps命令查看。
结果确认:
docker-compose -f docker-compose.clair.yml -f docker-compose.yml ps
Docker login IP
(5)访问刚才修改的hostname
默认用户名:admin 密码:(刚才修改的harbor_admin_password)
3.镜像扫描
(1)新建项目
(2)拉取要扫描的镜像
点击推送镜像:
按顺序复制粘贴到harbor下执行:
1> 先标记镜像
docker tag SOURCE_IMAGE[:TAG] 地址/新建的项目名称/IMAGE[:TAG]
SOURCE_IMAGE[:TAG](为镜像名称,如nginx、java)
IMAGE[:TAG](为镜像版本,如nginx:latest、java:8-jdk)
2> 推送镜像
docker push 地址/新建项目名称/IMAGE[:TAG]
IMAGE[:TAG](同标记)
(3)镜像扫描
刚才推送的镜像就可以看到,选中后即可开始扫描
查看镜像的情况:
如需给镜像打补丁,请参考:
http://www.jiangjiang.space/2017/10/26/harborclair-%e5%92%8c-docker-image-%e7%9a%84%e6%bc%8f%e6%b4%9e%e4%bf%ae%e5%a4%8d/
如需配置https证书请参考:
https://segmentfault.com/a/1190000022860875