基于Harbor搭建企业镜像仓库

0    43    1

👉 本文共约2168个字,系统预计阅读时间或需9分钟。

虽然Docker官方提供了Docker Hub作为公共的Registry服务器,给到用户进行镜像的保存和管理工作。但对于企业而言,考虑到安全性和网络效率等原因,通常会搭建私有的Registry服务器,用于提供企业内部的镜像仓库服务。

本文将基于开源的Harbor项目来介绍关于私有仓库的搭建。

一. Harbor介绍

Harbor是由VMware公司中国团队开发的一个企业级Registry项目,可用于搭建企业内部的容器镜像仓库。Harbor在Docker Registry的基础上增加了企业用户所需的权限控制、安全漏洞扫描、日志审核和远程复制等重要功能,还提供了图形管理界面及面向国内用户的中文支持,开源后便迅速业内流行开来,成为中国云原生用户的主流容器镜像仓库。

2018年7月,Harbor正式进入CNCF(谷歌创办的云原生基金会,旗下项目包括Kubernetes、Prometheus等世界级产品),并在2020年6月顺利毕业,成为了CNCF首个来自中国的开源项目。

图片

Harbor的架构如下图所示,其中Core services为Harbor的核心模块,主要包括UI、token和webhook三个组件。UI提供图形化界面,辅助用户管理镜像;webhook 用于及时 获取Registry上镜像状态的变化情况,并传递给其他模块;token组件用于提供验证令牌。

另外,还有Job service用于多个Harbor间的镜像同步功能,Log collector用于日志收集和审核功能。

图片

除了自身组件外,Harbor也需要使用到一些外部组件,如使用Nginx作为代理、Registry v2作为镜像存储、PostgreSQL作为数据库等等。

harbor的每个组件都是以Docker容器的形式进行部署,可以使用Docker Compose来进行统一管理。

二. 软硬件要求

1. 硬件要求

硬件最低配置推荐配置
CPU2CPU4CPU
内存4GB8GB
磁盘40G160G

注:硬件配置只是官方提供的一个参考,生产环境还需要根据实际情况进行容量规划。

2. 软件要求

软件版本
Docker17.06.0-ce+版或更高版本
Docker Compose1.18.0或更高
Openssl首选最新版本

三. 安装部署

1. 安装Docker

此处略过,不清楚的朋友可查看此文档《Docker容器实战三:安装部署》

2. 安装docker compose

测试是否正常安装

3. 安装harbor

下载harbor

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

解压

修改配置文件 /harbor/harbor.yml

运行安装脚本

注:该脚本将安装harbor默认组件,如需增加镜像扫描功能,可增加 --with-clair参数;如需增加heml仓库,可增加--with-chartmuseum参数。

脚本安装完成后,运行docker-compose命令,确认容器状态是否正常。

确认Harbor相关组件容器运行正常后,打开浏览器访问域名,可看到登录界面,安装完成。

图片

四. 验证仓库使用

1. 创建项目

使用admin账号登录Harbor,新建一个私有项目mytest。

图片

2. 镜像tag

在本地服务器上,使用 docker tag为本地镜像打标签

3. 登录授权

如果是使用自签名证书,可能登录时会报如下错误 :

此时,可以通过下面方式让Docker信任CA根证书,然后即可正常登录。

登录后,在本地 ~目录会生成 .docker/config.json 文件,保存相关的登录信息,下次使用可不用登录 。

4. 上传镜像

上传完成后,即可在镜像仓库看到相关的镜像,验证成功。

图片

参考

https://mp.weixin.qq.com/s/ToLq-ENzusAYfIzqWtpyIg

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

6 + 11 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部