2016-04-26 78 views
8

我使用Sonatype Nexus作为私有Docker注册表。Nexus Docker Registry - Failling anonymous pull

虽然它与经过身份验证的用户一起工作,但尝试使用匿名用户提取图像不起作用。这只发生在码头客户端上。

使用Nexus UI(未登录)我可以浏览我的回购图片。但试图拉图像,我得到一个'未经授权'的错误。

以下是泊坞窗客户端和Nexus存储库之间的通信的捕获流:

Wireshark packet capture

这是奇怪的,因为启用匿名访问,并根据文档,我可能有一个Docker托管注册表(通过HTTPs端口进行RW访问)和一个Docker组注册表,指向一个Docker托管注册表,通过RO /匿名访问。

回答

2

Docker注册表API需要用于注册表访问的身份验证,即使对于拉式操作,Nexus 3也是如此。即使对于拉取,Dockerhub也总是需要访问令牌。 但是你可以从dockerhub匿名提取的原因是它使用了一个令牌服务器,它自动给匿名用户发出访问令牌。 Nexus 3.0.1暂时无法使用这种机制。 也许它会被执行(https://issues.sonatype.org/browse/NEXUS-10813)。

因此,目前与Nexus 3,它将永远需要登录之前拉图像(最终与匿名用户是你的权利设置这种方式)。

2

此功能已添加到Nexus 3.6中。据the documentation

  1. 在安全>境界,使“泊坞承载令牌境界”,在库配置
  2. 取消选中“强制基本身份验证”
相关问题