一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第13天,点击查看活动详情。
本章节主要介绍Harbor仓库,用来存储Docker镜像
Harbor
Harbor(打开新窗口)是一个开源云原生注册表,用于存储、签署和扫描容器映像以查找漏洞。Harbor 通过提供信任、合规性、性能和互操作性来解决常见挑战。它填补了无法使用公共或基于云的注册表,或者希望跨云获得一致体验的组织和应用程序的空白。
默认 admin 用户的密码为 Harbor12345 ,可以在 harbor.cfg 进行修改
docker tag nginx:latest localhost:5000/nginx:latest
docker push localhost:5000/nginx:latest
# docker pull localhost:5000/镜像名:版本号
docker pull localhost:5000/nginx:latest
docker login -u admin -p Harbor12345 127.0.0.1:9090
docker tag nginx:latest 127.0.0.1:9090/library/nginx:latest
docker push 127.0.0.1:9090/library/nginx:latest
默认安装
/usr/local/harbor/install.sh
指定安装附加服务Notary、Clair、chart repository service
/usr/local/harbor/install.sh --with-notary --with-clair --with-chartmuseum
解释:
--with-notary、--with-clair:漏洞扫描工具;
--with-chartmuseum:图表存储库服务;
docker1.3.2版本开始,docker registry默认使用的是https,而我们设置Harbor默认http方式,所以当执行用docker login、pull、push等命令操作非https的docker regsitry的时就会报错。解决办法:
cd /soft/harbor
docker-compose up -d
如果系统是MacOS,则可以点击“Preference”里面的“Advanced”在“Insecure Registry”里加上172.16.2.94,重启Docker客户端就可以了。
如果系统是Ubuntu,则修改配置文件/lib/systemd/system/docker.service,修改[Service]下ExecStart参数,增加– insecure-registry=172.16.2.94。
如果系统是Centos,可以修改配置/etc/sysconfig/docker,将OPTIONS增加 --insecure-registry=172.16.2.94。
总结
Harbor 是一个开源注册表,它通过策略和基于角色的访问控制来保护项目,确保映像被扫描并且没有漏洞,并将映像标记为受信任的映像。Harbor 是 CNCF 毕业项目,可提供合规性、性能和互操作性,帮助您一致、安全地管理云中的工件组件。Harbon在实际生产环境中使用的非常多,也是我们了解云原生必须学会的组件之一