- 一、harbor简介
- 1. 什么是harbor
- 二、Harbor仓库的安装与部署
- 1.安装harbor和docker compose
- 2.制作镜像签名
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。
作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
基于角色的访问控制 - 用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
二、Harbor仓库的安装与部署 1.安装harbor和docker composelftp 172.25.254.250:/pub/docker> get harbor-offline-installer-v1.10.1.tgz tar zxf harbor-offline-installer-v1.10.1.tgz docker rm -f registry docker logout reg.westos.org cd harbor/ vim harbor.yml /// hostname: reg.westos.org certificate: /data/certs/westos.org.crt private_key: /data/certs/westos.org.key harbor_admin_password: westos database: password: westos ///
lftp 172.25.254.250:/pub/docker/compose> get docker-compose-Linux-x86_64-1.27.0 mv docker-compose-Linux-x86_64-1.27.0 /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose cd harbor/ mkdir /data cp ~/certs/ /data/ -r cd cd harbor/ ./install.sh docker ps docker-compose ps docker-compose start
浏览器:172.25.101.14/harbor
admin:westos
docker info #Registry: https://index.docker.io/v1/
cd /etc/docker
vim daemon.json
{
"registry-mirrors": ["https://reg.westos.org"]
}
systemctl reload docker.service
docker info #Registry Mirrors:https://reg.westos.org/
docker rmi reg.westos.org/nginx:latest
docker login reg.westos.org #登陆
docker tag nginx:latest reg.westos.org/library/nginx:latest
docker push reg.westos.org/library/nginx
浏览器—项目—library—library/nginx—latest
用户管理:创建用户: 项目:新建项目:westos(私有)
docker tag ubuntu:latest reg.westos.org/westos/ubuntu:latest docker logout reg.westos.org docker login reg.westos.org #可以用新建的用户登陆
docker push reg.westos.org/westos/ubuntu:latest #上传到私有仓库
查看日志可以看到最近做的操作:
–with-notary: 镜像信任,Notary是Docker镜像的签名工具,用来保证镜像在pull,push和传输过程中的一致性和完整性,避免中间人攻击,避免非法的镜像更新和运行。
镜像信任功能能够保证镜像的安全,只有打了信任标签的镜像才能被拉取
–with-clair: 镜像安全扫描,Harbor与Clair集成,添加漏洞扫描功能。 默认在运行harbor时漏洞扫描是没有开启的,需要重新开启并添加参数
–with-chartmuseum: 支持chart仓库服务
1.先关闭当前容器,重新安装harbor
cd harbor/ ./install.sh --with-notary --with-clair --with-chartmuseum
2.对仓库的镜像进行安全扫描,未签名:
可以在仓库配置管理中设置自动对镜像进行安全扫描
3.部署根证书:
mkfir -p .docker/tls/reg.westos.org:4443/ cd .docker/tls/reg.westos.org:4443/ cp /etc/docker/certs.d/reg.westos.org/ca.crt .
4.启用docker内容信任:
export DOCKER_CONTENT_TRUST=1 export DOCKER_CONTENT_TRUST_SERVER=https://reg.westos.org:4443
上传镜像:
docker push reg.westos.org/library/nginx:latest
签名成功
此时用server5拉取私有仓库的镜像会被拒绝:



