3.5. 配置短名称别名
红帽建议始终使用完全限定名称拉取镜像。但是,通常按短名称拉取镜像。例如,您可以使用 ubi9
而不是 registry.access.redhat.com/ubi9:latest
。
registries.conf
文件允许为短名称指定别名,使管理员能够完全控制从何处拉取镜像。别名在 [aliases]
表中指定,格式为 "name" = "value"
。您可以在 /etc/containers/registries.conf.d
目录中看到别名列表。红帽在此目录中提供了一组别名。例如,podman pull ubi9
直接解析为正确的镜像,即 registry.access.redhat.com/ubi9:latest
。
例如:
unqualified-search-registries=["registry.fedoraproject.org", “quay.io"] [aliases] "fedora"="registry.fedoraproject.org/fedora"
简短名称模式为:
-
enforcing:如果在镜像拉取过程中找不到匹配的别名,则 Podman 会提示用户选择一个非限定 registry。如果所选镜像拉取成功,Podman 将自动在
$HOME/.cache/containers/short-name-aliases.conf
文件(非 root 用户)或在/var/cache/containers/short-name-aliases.conf
(root 用户)中记录一个新的短名称别名。如果无法提示用户(例如,stdin 或 stdout 而不是 TTY),则 Podman 会失败。请注意,如果都指定了同一别名,short-name-aliases.conf
文件优先于registries.conf
文件。 - permissive:与 enforcing 模式类似,但如果用户无法提示,Podman 不会失败。相反,Podman 会按照指定顺序搜索所有非限定 registry。请注意,没有记录别名。
- disabled:所有非限定 registry 都以给定顺序尝试,不记录别名。
注意
红帽建议使用完全限定镜像名称,包括注册中心、命名空间、镜像名称和标签。在使用短名称时,通常会存在欺骗风险。添加受信任的注册表,也就是不允许未知或匿名用户创建任意名称帐户的注册表。例如,用户希望从 example.registry.com registry
中拉取示例容器镜像。如果 example.registry.com
不是搜索列表中的第一个,则攻击者可以将不同的示例镜像放在搜索列表较前的注册中心中。用户会意外拉取并运行攻击者的镜像,而不是预期的内容。
其他资源