两端使用Nexus验证Docker注册表代理

时间:2018-02-14 09:03:08

标签: docker nexus docker-registry

我正在运行Sonatype Nexus作为基于ldap的auth的私有docker-registry(或相关部分,每个用户/服务器都有自己的身份验证)。

我想设置第二个nexus服务器,它将是一个与--registry-mirror一起使用的docker-registry代理(缓存/转发),镜像上面提到的私有注册表。

我尝试了什么

我配置了一个docker注册表代理: enter image description here 使用私有注册表作为后端 enter image description here 和后端的身份验证(实际上是正确的假设? enter image description here

我配置了一个ssl-offloader,就像往常一样https://proxy.domain.tld到他们的nexus docker-proxy port(10090)

然后我使用--registr-mirror = https://proxy.mydomain.tld

配置了docker-engine

并使用docker login https://proxy.mydomain.tld我可以正确使用我的ldap中的凭据,但由于后端和代理共享同一个ldap服务器,我不确定哪个是我用的。

问题/问题:

a)我需要对“基于每个用户”的转发注册表代理进行身份验证 b)代理可以访问经过身份验证的私有注册表(使用服务帐户)

在上面的案例中,docker登录是否实际上是使用代理或底层私有注册表进行身份验证?

此设置是否有效?我犯了一个概念上的错误吗?

1 个答案:

答案 0 :(得分:0)

您似乎在问,如果您有类似用户> Nexus A-> Nexus B的情况,Nexus A可以将凭据转发给Nexus B吗?

如果是这样,答案是否定的。 Nexus A将拥有自己的凭据,用于向Nexus B进行身份验证。由于Nexus A试图代表Nexus B中可用的全部内容,因此可能需要提升权限才能获取内容以满足所有用户的需求。甲

您应该能够根据权限构建A和B以提供相同的内容,但只允许A从B中获取所有内容。