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 复制链接链接已复制到粘贴板!
以配置模式启动
Quay容器,再选择 Enable Repository Images 复选框。如果要在镜像过程中需要 HTTPS 通信并验证证书,请选择 HTTPS 和证书验证复选框。
-
验证并下载
配置文件,然后使用更新的 配置文件在 registry 模式中重启 Quay。
3.3.3. 镜像 worker 复制链接链接已复制到粘贴板!
使用以下步骤启动存储库镜像 worker。
流程
如果您还没有使用
/root/ca.crt证书配置 TLS 通信,请输入以下命令来使用repomirror选项启动Quaypod:$ 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 :
3.3.4.1. 存储库镜像设置 复制链接链接已复制到粘贴板!
在 Settings 选项卡中,将 Repository State 设置为
Mirror:
在 Mirror 选项卡中,输入连接到外部 registry 的详细信息,以及标签、调度和访问信息:
在以下字段中输入详情:
-
registry Location: 您要镜像的外部仓库,如
registry.redhat.io/quay/quay-rhel8 tags: 此字段是必需的。您可以输入各个标签或标签模式的逗号分隔列表。(请参阅 Tag Patterns 部分以了解详细信息。)
注意要让 Quay 获取远程存储库中的标签列表,必须满足以下要求之一:
- 远程存储库中必须存在带有"latest"标签的镜像 。
- 至少一个没有模式匹配的显式标签必须存在于您指定的标签列表中
- 起始日期: 镜像开始的日期。默认使用当前的日期和时间。
- 同步间隔: 默认每 24 小时同步。您可以根据小时或天更改。
- 机器人用户: 创建新机器人帐户或选择现有的机器人帐户来进行镜像。
- Username: 用于访问包含您要镜像的存储库的外部 registry 的用户名。
- password: 与 Username 关联的密码。请注意,密码不能包含需要转义字符(\)的字符。
-
registry Location: 您要镜像的外部仓库,如
3.3.4.2. 高级设置 复制链接链接已复制到粘贴板!
- 在 Advanced Settings 部分中,根据需要配置 TLS 和代理:
- 验证 TLS: 如果需要 HTTPS,并在与目标远程 registry 通信时验证此复选框。
- HTTP Proxy: 识别访问远程站点所需的 HTTP 代理服务器(如果需要)。
- HTTPS 代理: 识别访问远程站点所需的 HTTPS 代理服务器(如果需要)。
- No Proxy: 不需要代理的位置列表
3.3.4.3. 现在同步 复制链接链接已复制到粘贴板!
要执行即时镜像操作,请在存储库镜像选项卡中按立即同步按钮。日志包括在 Usage Logs 选项卡中:
镜像完成后,镜像将显示在 Tags 选项卡中:
以下是已完成的存储库镜像屏幕示例:
3.3.5. 镜像标签模式 复制链接链接已复制到粘贴板!
如上方所述,必须明确输入至少一个 Tag(例如,标签模式不是标签模式),或者 报告存储库中必须存在标签 "latest"。(标签 "latest" 将不同步,除非标签列表中指定。)Quay 需要此项才能获取远程存储库中的标签列表,以便与指定的列表与镜像进行比较。
3.3.5.1. 模式语法 复制链接链接已复制到粘贴板!
| pattern | 描述 |
| * | 匹配所有字符 |
| ? | 匹配任何单个字符 |
| [seq] | 匹配 seq中的任何字符 |
| [!seq] | 匹配不在 seq中的任何字符 |
3.3.5.2. 标签模式示例 复制链接链接已复制到粘贴板!
| 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 |