harbor是为企业用户设计的容器镜像仓库开源项目,包括了权限管理(RBAC),LDAP,审计,安全漏洞扫描,镜像验真,自我注册等企业必须的功能,同时针对中国用户的特点,设计了镜像复制和中文支持等功能。是在官方仓库docker hub上的二次开发。
开发语言:go
开源协议:apache-2.0
以下均在server4上,并删除上节做好的认证
删除认证registrydocker rm -f registry
退出registry:docker lohout reg.westos.org
删除认证文件:
1.docker-compose
将下载的二进制可执行文件移到/usr/local/bin:
scp docker-compose-Linux-x86_64-1.27.0 server4:/usr/local/bin/docker-compose
给予可执行权限:chmod +x /usr/local/bin/docker-compose
2.harbor
对于提前下好的离线版压缩文件:
解压缩:tar zxf harbor-offline-installer-v1.10.1.tgz
文件较大,大概647M:du -sh
编辑主配置文件,修改主机名:hostname: reg.westos.org
certificate: /certs/westos.org.crt
private_key: /certs/westos.org.key
harbor_admin_password: lee
根下建立:mkdir /data
复制:cp -r certs/ /
执行安装程序:./install.sh
控制该容器:docker-compose ps
docker-compose.yml
在同一文件内浏览器输入server4地址:172.25.119.4
用户名:amidn
;密码:自己设置的密码
首先退出登陆:docker logout reg.westos.org
再重新登陆:docker login reg.westos.org
规范命名:docker tag busybox:latest reg.westos.org/library/busybox:latest
上传:docker push reg.westos.org/library/busybox:latest
1.再server5上设置本地pull优先私有仓库
cd /etc/docker/
vim daemon.json
{
"registry-mirrors": ["https://reg.westos.org"]
}
systemctl reload docker.service
新建用户lee:
在westos项目中加入该成员,设置为维护人员:
新建用户demo,加入至westos,设置为访客:
登出:docker logout reg.westos.org
用lee(维护人员)登陆:docker login reg.westos.org
tag:docker tag rhel7:latest reg.westos.org/westos/rhel7:latest
上传:docker push reg.westos.org/westos/rhel7:latest
登出:docker logout reg.westos.org
用demo(访客)登陆:docker login reg.westos.org
tag:docker tag webserver:latest reg.westos.org/westos/webserver:latest
上传提示失败:docker push reg.westos.org/westos/webserver:latest
日志可看记录:
关闭:docker-compose down
重新部署harbor:./prepare
执行后会删除配置,项目数据并不会删除
./install.sh --with-notary --with-clair --with-chartmuseum
分别对应:内容信任,自动扫描(漏洞),Helm Charts
对上传的镜像进行扫描:
扫描完成:
注:由于linux虚拟机快照机制,扫描会大量消耗虚拟机资源
镜像签名:https://goharbor.io/docs/1.10/working-with-projects/working-with-images/pulling-pushing-images/
/etc/docker/certs.d/reg.westos.org/ca.crt
~/.docker/tls/reg.westos.org:4443/ca/crt
export DOCKER_CONTENT_TRUST=1
export DOCKER_CONTENT_TRUST_SERVER=https://reg.westos.org:4443
docker tag yakexi007/game2048:latest reg.westos.org/westos/game2048:latest
docker push reg.westos.org/library/nginx:latest
首次上传时需要设置root密码及仓库密码:
上传镜像自动签名:
远端server也拉取成功:
此时上传另一个镜像时只需要输入仓库密码:
注:同一镜像不同版本号再上传时只需要输入仓库密码
export DOCKER_CONTENT_TRUST=0
此时还需要点掉内容信任,否则无法上传部署
考虑到以后继续用,且防止占用空间不断增大,down掉harbor
docker-compose down
注:docker-compose命令必须在harbor目录下,因为要读取harbor.yml
,否则会出现以下提示
with-clair
扫描功能和--with-notary
内容信任./install.sh --with-chartmuseum