Harbor私有化Docker镜像仓储搭建
Harbor介绍
Harbor是构建企业级私有Docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的。
Harbor:这是VMWare公司提供的一个docker私有仓库构建程序,功能非常强大.
- 支持多租户签名和认证
- 支持安全扫描和风险分析
- 这次日志审计
- 基于角色的访问控制
- 支持可扩展的API和GUI
- Image replication between instances
- 国际化做的很好(目前仅支持英文和中文)
Harbor安装部署
准备必要的环境:
Python及pip环境 并检查是否安装docker-compose
Docker-ce环境
vim /etc/docker/daemon.json docker配置
{
"registry-mirrors": ["https://udd0lbdn.mirror.aliyuncs.com"],#aliyun镜像加速配置
"insecure-registries": [
"xxx.xxx.xxx.xxx:port" #配置Harbor仓库地址,配置到IP+端口即可
]
}
下载Harbor准备部署
Harbor github下载地址https://github.com/goharbor/harbor/releases
存放本地服务器即可
修改harbor.yml
运行./install.sh 即可安装
install.sh --help命令,可了解Harbor的其它功能

安装成功后登录
通过配置好的IP+端口进行web访问,账号默认:harbor(登陆后可进行修改) 密码为上图的配置。

登录界面

登陆后界面
上传第一个镜像
准备工作

新建项目,配置项目名称,选择访问级别公开,存储及存储容量安需求配置。

点击项目详情,镜像仓库选项,点击右侧推送镜像按钮即可查看镜像推送示例命令

以推送镜像
先登录到Harbor
(base) [root@ceshi work]# docker login ip:port
`Authenticating with existing credentials...`
`WARNING! Your password will be stored unencrypted in /root/.docker/config.json.`
`Configure a credential helper to remove this warning. See`
`https://docs.docker.com/engine/reference/commandline/login/#credentials-store`
`Login Succeeded
(base) [root@ceshi work]# docker tag 镜像名:标签名(要上传的镜像或IMAGE ID) ip:port/创建的Harbor项目名/镜像名:标签名
也可将运行的镜像推送到远端,使用docker commit 命令
使用下面的命令进行推送
(base) [root@ceshi work]# docker push ip:port/创建的Harbor项目名/镜像名:标签名