问题 Nexus Docker Registry - Failling anonymous pull


我正在使用Sonatype Nexus作为私有Docker注册表。

虽然它适用于经过身份验证的用户,但尝试使用匿名用户来提取图像却不起作用。这只发生在docker客户端上。

使用Nexus UI(未登录)我可以在我的仓库中浏览图像。但是试图拉动图像我得到了“未经授权”的错误。

以下是Docker Client和Nexus存储库之间通信的捕获流:

Wireshark数据包捕获

这很奇怪,因为启用了匿名访问,根据文档,我可能有一个Docker Hosted Registry(通过HTTPs端口进行RW访问)和Docker Group Registry,指向Docker Hosted Registry,具有RO /匿名访问权限。


6560
2018-04-26 21:10


起源



答案:


此功能已在Nexus 3.6中添加。根据 文件

  1. 在Security> Realms下,启用“Docker Bearer Token Realm”
  2. 取消选中存储库配置中的“强制基本身份验证”

7
2017-11-12 16:15





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

因此,目前使用Nexus 3时,它总是需要先登录才能获取图像(最终,匿名用户可以通过这种方式设置您的权限)。


3
2017-09-12 13:41