podman 不再搜索 dockerhub:错误:短名称 ... 未解析为别名,并且未定义不合格的搜索注册表

podman 不再搜索 dockerhub:错误:短名称 ... 未解析为别名,并且未定义不合格的搜索注册表

不确定我做了什么,但现在我得到了

错误:短名称“postgres:14”未解析为别名,并且“/etc/containers/registries.conf”中没有定义不合格的搜索注册表

当我尝试跑步时podman pull postgres:14。我可以验证postgres:14存在于dockerhub中

答案1

这是行为上的改变,他们希望你做的是写docker.io/

podman pull docker.io/postgres:14

您可以在中查看此记录/etc/containers/registries.conf

注意:使用不合格图像名称的风险我们建议始终使用完全限定的映像名称,包括注册表服务器(完整的 dns 名称)、命名空间、映像名称和标签(例如,registry.redhat.io/ubi8/ubi:latest)。通过摘要(即 quay.io/repository/name@digest)拉取进一步消除了标签的歧义。使用短名称时,始终存在被拉取的图像可能被欺骗的固有风险。例如,用户想要foobar从注册表中提取一个命名的映像,并希望它来自 myregistry.com。如果 myregistry.com 不是搜索列表中的第一个,则攻击者可以将不同的foobar图像放置在搜索列表中较早的注册表中。用户可能会意外拉取并运行攻击者的图像和代码,而不是预期的内容。我们建议仅添加完全受信任的注册表(即不允许未知或匿名用户创建具有任意名称的帐户的注册表)。这将防止图像被欺骗、抢注或以其他方式变得不安全。如果需要使用这些注册表之一,则应将其添加到列表的末尾。

您可以在以下位置查看更多信息man 5 containers-registries.conf


您可以恢复到旧的行为,

unqualified-search-registries = ["docker.io"]

相关内容