千家信息网

如何用Harbor实现容器镜像仓库的管理和运维

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关如何用Harbor实现容器镜像仓库的管理和运维,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。这里主要讲述了在开
千家信息网最后更新 2026年11月01日如何用Harbor实现容器镜像仓库的管理和运维

本篇文章给大家分享的是有关如何用Harbor实现容器镜像仓库的管理和运维,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

这里主要讲述了在开发运维中的管理容器镜像方法。为了便于说明原理,较多地使用Harbor作为例子。

内容主要包括:
1)开发和生产环境中镜像仓库的权限控制
2)镜像远程同步(复制)的原理
3)大规模应用镜像发布方式;
4)镜像删除和空间回收
5)Registry高可用性设计。

首先简单介绍一下Harbor项目。Harbor是由VMware中国研发团队负责开发的开源企业级Registry,可帮助用户迅速搭建企业级的registry 服务。该项目发布5多个月以来,深受用户喜爱,在GitHub 获得了近1000个点赞星星和200多个 forks。有兴趣的朋友可以使用: https://github.com/vmware/harbor

容器应用的使用越来越普遍,容器最大优点就是开发运维一体化,通过容器镜像打包应用,使得开发、测试和发布都具有相同的运行环境,带来极大的便利。那么镜像在实际运维中处于怎样的地位呢?

我们先看看下面这张经典的Docker容器的生命周期图:

从图中可以看到,容器镜像的关联箭头最多,不言而喻,镜像技术就是容器的核心所在。概括地说,容器包含一静一动两部分:静态存放的镜像(images)和动态运行的containers。相应地,容器的开发运维主要涉及镜像管理和运行时(Runtime)管理两部分。本文主要和大家分享的是容器镜像管理的部分。

1)开发和生产环境中镜像仓库的权限控制

在企业中,通常有不同的开发团队来负责不同的应用项目,和源代码分项目管理一样,镜像也需要按照项目来存放和管理。由于团队中有不同的成员,如项目经理、产品经理、开发、测试和运维等人员,每人使用镜像的需求不同,因此可以根据角色分配相应的权限。

例如,测试人员通常只需要镜像的读权限(pull),开发人员需要读写权限(push/pull),项目经理除了拥有开发人员的权限之外,还可以增加和删除项目成员,设定他们的角色。
在Harbor Registry中,每个项目可有三种角色:项目管理员(project admin)、开发者(developer)和客人(guest)。某些项目,如放在library中的公共镜像, 可以允许匿名访问,即用户不同docker login也可以访问,这样可以方便使用。在整个系统中,还设有系统管理员,具有维护镜像同步策略、用户增删等权限。

需要指出的是,在不同的环境中,某个成员的角色可以不同。例如,在开发环境的registry中,运维人员一般不需要权限(或需要只读权限);而在生产环境中的Registry,运维人员就需要有读写权限。下图是Harbor的权限管理界面:

开发环境的Registry: 主要由开发人员使用,镜像变化频繁。当开发完成后,通过CI系统生成稳定镜像,同步到测试Registry;

测试环境的Registry: 主要由测试人员使用,镜像保持不变。当测试通过后,同步到准生产环境的Registry;

准生产环境的Registry: 主要由测试和运维人员使用,镜像保持不变。当准生产环境试运行后,最后再同步生产环境的Registry;

生产环境的Registry: 发布镜像到生产环境运行。

从开发到生产的整个过程中,实现容器镜像的Build-Ship-Run过程。Harbor可以提供Registry之间的镜像自动同步和复制功能,简化了管理。

3)大规模应用镜像发布方式;

在实际生产运维的中,往往需要把镜像发布到几十或上百台集群节点上。这时,单个Registry已经无法满足大量节点的下载需求,因此要配置多个registry实例做负载均衡。手工维护多个registry实例上的镜像,将是十分繁琐的事情。Harbor可以支持一主多从的镜像发布模式,可以解决大规模镜像发布的难题。

在同步过程中,如果源镜像已删除,Harbor会自动同步删除远端的镜像。在镜像同步复制的过程中,Harbor会监控整个复制过程,遇到网络等错误,会自动重试。

这是同步复制的监控画面:

一种比较标准的方案,就是多个的Registry实例共享同一个后端存储,任何一个实例持久化到存储的镜像,都可被其他实例中读取。通过前置LB进来的请求,可以分流到不同的实例中去处理,实现了负载均衡,也避免了单点故障。

应该指出,实际中需要考虑的问题远比上述模型复杂。例如,共享存储的选取,用户session在不同的实例上共享等等。用户可根据自己业务要求设计出不同的方案。Harbor将会推出基于swift分布式存储,以及共享session的方案(采用redis)来满足用户的需求。

如果没有共享存储,另一种方案就是在两个节点间采用双主复制策略,互相复制镜像。即使有一个实例失效,另一个实例仍然可以提供服务,从而在一定程度上可以满足HA的需求。


节点出现故障的时候,有vSphere自动切换到好的节点上,镜像数据不丢失。

以上就是如何用Harbor实现容器镜像仓库的管理和运维,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

镜像 开发 环境 容器 管理 权限 项目 生产 不同 同步 人员 实例 用户 测试 多个 就是 节点 过程 存储 应用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 新华互联网科技 哈尔滨大商圈互联网科技有限公司 中国互联网科技工作委员会毛军 互联网科技战争 上海致骋互联网科技 互联网科技英文翻译 互联网科技宣传片 科技赋能互联网健康 厦门千工互联网科技有限公司 互联网科技革命什么开始 国大互联网教育科技有限公司工作 世界互联网领先科技成果获奖 广州千川互联网科技有限公司 启辰互联网科技 南京一网一红互联网科技有限公司 神州科技互联网有限公司 新氧科技和美国互联网有关系吗 科技互联网经济论坛 优雇互联网科技有限公司 互联网科技海报 腾讯阿里互联网科技 太原新华互联网科技学校怎么样 受益于互联网科技的高速发展 企晟互联网信息科技有限公司 上海科技产业互联网平台 雨阳互联网卡科技有限公司 全球科技与互联网公司市值变化 版纳互联网科技选哪家 河南商务圈互联网科技有限公司
0