15.3. 使用 Red Hat Quay 代理远程 registry
以下流程描述了如何使用 Red Hat Quay 代理远程 registry。此流程设置为 proxy quay.io,它允许用户使用 podman
从 quay.io 上的任何命名空间拉取任何公共镜像。
先决条件
-
config.yaml 中的
FEATURE_PROXY_CACHE
设置为true
。 - 分配 Member 团队角色。如需有关团队角色的更多信息,请参阅 Red Hat Quay 中的用户和组织。
流程
-
在 UI 上的 Quay 机构中,例如
cache-quayio
,单击左侧窗格的 Organization Settings。 可选:点 Add Storage Quota 为您的机构配置配额管理。有关配额管理的更多信息,请参阅配额管理。
注意在某些情况下,当拉取过程中达到配额限制时,使用 Podman 拉取镜像可能会返回以下错误:
无法拉取 image: Error parsing image configuration: Error fetching blob: invalid status code from registry 403(Forbidden)
。错误403
is inaccurate,且发生时,Podman 隐藏了正确的 API 错误:Quota been exceeded on namespace
。已知的问题将在以后的 Podman 更新中修复。在 Remote Registry 中,输入要缓存的远程 registry 的名称,如
quay.io
,然后单击 Save。注意通过在 远程 Registry 中添加命名空间,例如
quay.io/<namespace
>,您的机构中的用户只能从该命名空间中代理。可选:添加 远程 Registry 用户名和 远程 Registry 密码。
注意如果您没有设置 Remote Registry Username 和 Remote Registry Password,则无法在不删除代理缓存的情况下添加一个,并创建新的 registry。
可选:在 过期 项中设置时间。
注意- 代理机构中缓存镜像的默认 tag Expiration 字段设置为 86400 秒。在代理机构中,每当拉取标签时,标签过期都会刷新到 UI 的 过期 项中设置的值。此功能与 Quay 的默认 单独标签过期 功能不同。在代理机构中,可以覆盖各个标签功能。发生这种情况时,根据代理机构的过期字段重置单个标签的 过期。
- 过期的镜像将在分配的时间后消失,但仍存储在 Quay 中。镜像被完全删除或收集的时间取决于机构的 Time Machine 设置。垃圾回收的默认时间为 14 天,除非另有指定。
- 点击 Save。
在 CLI 中,从 registry 中拉取公共镜像,如 quay.io,作为代理缓存:
$ podman pull <registry_url>/<organization_name>/<quayio_namespace>/<image_name>
重要如果您的组织被设置为从远程 registry 的单个命名空间中拉取,则必须在 URL 中省略远程 registry 命名空间。例如,
podman pull <registry_url>/<organization_name>/<image_name>
。