Container Registry

Container Registry #

在深入讨论Container Registry之前,我们需要定义三个紧密相关的概念:

  • 容器(Container)是“一个运行中的进程,其资源和能力受计算机操作系统管理”(云原生术语表)。
  • 镜像(Image)是一组运行容器及其进程所需的归档文件。可以将其视为一个模板,基于它可以创建无限数量的容器。
  • 仓库(Repository),简称repo,是存储镜像的空间。

Container Registry是专门化的 web 应用程序,用于分类和存储仓库。

镜像包含执行程序(容器内)所需的信息,并存储在仓库中,仓库又根据分类和分组存储在Container Registry中。构建、运行和管理容器的工具需要访问这些镜像,访问是通过引用Container Registry(即访问镜像的路径)来实现的。

解决的问题 #

云原生应用通常被打包成镜像,并以容器运行。Container Registry存储并提供运行这些应用所需的容器镜像。

提供的帮助 #

通过将所有容器镜像集中存储在一个地方,开发人员可以轻松访问这些镜像进行工作。

技术基础 #

Container Registry可以存储和分发镜像,或以某种方式增强现有的Registry。基本上,Registry是一个 web API,允许容器运行时存储和检索镜像。许多Registry提供接口,允许容器扫描或签名工具增强它们存储镜像的安全性。有些Registry专注于以高效的方式分发或复制镜像。任何使用容器的环境都需要一个或多个Registry。

这一领域的工具提供集成服务,如扫描、签名和检查它们存储的镜像。Dragonfly和Harbor是CNCF 项目,Harbor 最近成为首个符合OCI标准的Registry。每个主要云服务商都提供自有的托管Registry,许多其他Registry也可以独立部署,或者通过Helm等工具直接部署到 Kubernetes集群中。

知名厂商提供自有的托管Registry:

  • Docker Hub - docker.io/library
  • ReadHat Quay.io - quay.io
  • Google GCR - gcr.io
  • Github ghcr - ghcr.io
  • K8S Registry - registry.k8s.io

Keywords #

  • Container
  • OCI Image
  • Registry

Projects #

  • Harbor (graduated)
  • Dragonfly (incubating)
  • Distribution (sandbox)
  • zot (sandbox)
© 2025 青蛙小白 | 总访问量 | 总访客数