3.3. 仓库镜像


3.3.1. 存储库镜像

通过 Red Hat Quay 存储库镜像,您可以将外部容器 registry(或其他本地 registry)的镜像镜像(或其他本地 registry)镜像到 Red Hat Quay 集群。使用存储库镜像功能,您可以根据存储库名称和标签将镜像同步到 Red Hat Quay。

在启用了存储库镜像的 Red Hat Quay 集群中,您可以:

  • 从外部 registry 选择要进行镜像的存储库
  • 添加凭证来访问外部 registry
  • 识别要同步的特定容器镜像存储库名称和标签
  • 设置同步存储库的时间间隔
  • 检查同步的当前状态

要使用镜像功能,您需要:

  • 在 Red Hat Quay 配置中启用存储库镜像
  • 运行存储库镜像 worker
  • 创建已镜像的存储库

所有存储库镜像配置都可使用配置工具 UI 或通过 Red Hat Quay API 执行

3.3.2. 镜像配置 UI

  1. 以配置模式启动 Quay 容器,再选择 Enable Repository Images 复选框。如果要在镜像过程中需要 HTTPS 通信并验证证书,请选择 HTTPS 和证书验证复选框。

    Enable mirroring and require HTTPS and verified certificates

  2. 验证并下载 配置文件,然后使用更新的 配置文件在 registry 模式中重启 Quay。

3.3.3. 镜像 worker

使用以下步骤启动存储库镜像 worker。

流程

  • 如果您还没有使用 /root/ca.crt 证书配置 TLS 通信,请输入以下命令来使用 repomirror 选项启动 Quay pod:

    $ sudo podman run -d --name mirroring-worker \
      -v $QUAY/config:/conf/stack:Z \
      {productrepo}/{quayimage}:{productminv} repomirror
  • 如果您使用 /root/ca.crt 证书配置了 TLS 通信,请输入以下命令启动存储库镜像 worker:

    $ sudo podman run -d --name mirroring-worker \
      -v $QUAY/config:/conf/stack:Z \
      -v /root/ca.crt:/etc/pki/ca-trust/source/anchors/ca.crt:Z \
      {productrepo}/{quayimage}:{productminv} repomirror

3.3.4. 创建已镜像的存储库

本节所示的步骤假定您已在 Red Hat Quay 集群配置中启用了存储库镜像,并且已部署了镜像 worker。

从外部容器 registry 对存储库进行镜像(mirror)时,创建一个新的私有存储库。名称与目标存储库相同,例如 quay-rhel8

Create new Red Hat Quay repo

3.3.4.1. 存储库镜像设置

  1. 在 Settings 选项卡中,将 Repository State 设置为 Mirror

    Create a new Red Hat Quay repo mirror

  2. 在 Mirror 选项卡中,输入连接到外部 registry 的详细信息,以及标签、调度和访问信息:

    Repository mirroring

  3. 在以下字段中输入详情:

    • registry Location: 您要镜像的外部仓库,如 registry.redhat.io/quay/quay-rhel8
    • tags: 此字段是必需的。您可以输入各个标签或标签模式的逗号分隔列表。(请参阅 Tag Patterns 部分以了解详细信息。)

      注意

      要让 Quay 获取远程存储库中的标签列表,必须满足以下要求之一:

      • 远程存储库中必须存在带有"latest"标签的镜像
      • 至少一个没有模式匹配的显式标签必须存在于您指定的标签列表中
    • 起始日期: 镜像开始的日期。默认使用当前的日期和时间。
    • 同步间隔: 默认每 24 小时同步。您可以根据小时或天更改。
    • 机器人用户: 创建新机器人帐户或选择现有的机器人帐户来进行镜像。
    • Username: 用于访问包含您要镜像的存储库的外部 registry 的用户名。
    • password: 与 Username 关联的密码。请注意,密码不能包含需要转义字符(\)的字符。

3.3.4.2. 高级设置

  • 在 Advanced Settings 部分中,根据需要配置 TLS 和代理:
  • 验证 TLS: 如果需要 HTTPS,并在与目标远程 registry 通信时验证此复选框。
  • HTTP Proxy: 识别访问远程站点所需的 HTTP 代理服务器(如果需要)。
  • HTTPS 代理: 识别访问远程站点所需的 HTTPS 代理服务器(如果需要)。
  • No Proxy: 不需要代理的位置列表

3.3.4.3. 现在同步

  • 要执行即时镜像操作,请在存储库镜像选项卡中按立即同步按钮。日志包括在 Usage Logs 选项卡中:

    Usage logs

    镜像完成后,镜像将显示在 Tags 选项卡中:

    Repository mirroring tags

    以下是已完成的存储库镜像屏幕示例:

    Repository mirroring details

3.3.5. 镜像标签模式

如上方所述,必须明确输入至少一个 Tag(例如,标签模式不是标签模式),或者 报告存储库中必须存在标签 "latest"。(标签 "latest" 将不同步,除非标签列表中指定。)Quay 需要此项才能获取远程存储库中的标签列表,以便与指定的列表与镜像进行比较。

3.3.5.1. 模式语法

Expand

pattern

描述

*

匹配所有字符

?

匹配任何单个字符

[seq]

匹配 seq中的任何字符

[!seq]

匹配不在 seq中的任何字符

3.3.5.2. 标签模式示例

Expand

Pattern 示例

Matches 示例

v3*

v32, v3.1, v3.2, v3.2-4beta, v3.3

v3.*

v3.1、v3.2、v3.2-4beta

v3.?

v3.1、v3.2、v3.3

v3.[12]

v3.1、v3.2

v3.[12]*

v3.1、v3.2、v3.2-4beta

v3.[!1]*

v3.2、v3.2-4beta、v3.3

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部