1. Harbor介绍
Harbor Registry(又称 Harbor 云原生制品仓库或 Harbor 镜像仓库)。由 VMware 公司中国研发中心云原生实验室原创,并于 2016 年 3 月开源。Harbor 在 Docker Distribution的基础上增加了企业用户必需的权限控制、镜像签名、安全漏洞扫描和远程复制等重要功能,还提供了图形管理界面及面向国内用户的中文支持,开源后迅速在中国开发者和用户社区流行,成为中国云原生用户的主流容器镜像仓库。
harbor的功能
- 多租户内容签名和验证
- 安全性和漏洞分析
- 审核日志记录
- 身份集成和基于角色的访问控制
- 实例之间的映像复制
- 可扩展的 API 和图形用户界面
- 国际化(目前为中英文)
2. Harbor安装
- 选择linux支持的安装包进行下载,并上传服务器
https://github.com/goharbor/harbor/releases
- 解压完成之后修改harbor.yml
harbor.yml实际由harbor.yml.tmpl重命名而来。修改地址,并且注释掉https相关的配置。查看几个重要的信息,端口80,登录用户admin,登录密码Harbor12345。
- 启动Harbor
sh install.sh
启动的本质还是使用了docker-compose。
- 访问Harbor
3. Harbor的基础使用
- 新建项目
我这里新建了一个registry项目。存储容量为-1表示无限制。
- 修改本地配置
[root@master ~]# vi /etc/docker/daemon.json
[root@master ~]# cat /etc/docker/daemon.json
{
"insecure-registries": ["114.116.**.**:80"]
}
[root@master ~]#
这个文件如果没有,创建一个即可。填写自己的ip和端口。配置完这一步需要重启docker服务,systemctl restart docker
。
- 命名规则
Harbor地址:端口/项目名/镜像名称:版本
将镜像名称按照推送规则进行修改。
docker tag e2b27634145f 114.116.***.***:80/registry/jiangnan:v2.0.0
- 登录harbor
docker login -u admin -p Harbor12345 114.116.***.***:80
根据日志提示可以将密码写到一个文件
/etc/docker_passwd
中。使用cat /etc/docker_passwd | docker login --username 用户名 --password-stdin
进行登录。
- 推送镜像
docker push 114.116.***.***:80/registry/jiangnan:v2.0.0
- Harbor仓库验证
推送成功。
- 拉取镜像
# 换一台服务器测试
docker pull 114.116.***.***:80/registry/jiangnan:v2.0.0
成功。
点击下方微信公众号名片,获取更多内容。