我如何代理 Internal Nexus Docker 存储库?
How Do I Proxy Internal Nexus Docker Repositories?
我们已经部署了 Sonatype Nexus 3 用作我们的内部工件存储库,它工作得很好......现在我们已经在我们的临时环境中完成了我们的概念验证,我们已经部署了 2 个额外的 Nexus 服务器在我们的一些远程网络中,以减少整个 WAN 的带宽利用率。因此,在 "satellite" nexus 服务器上,我创建了一个 Proxy Docker 存储库,用于代理我们的主要 Nexus 服务器。我遇到的问题是,当我尝试从其中一个卫星 Nexus 存储库中提取容器图像时,它找不到任何容器。当我代替我们 docker search
时,我可以看到容器,但它们列在错误的主机名下!!
docker search --limit 50 satellite.mycompany.com/mycontainer
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
primary.mycompany.com/mycontainer:0.0.1 0
primary.mycompany.com/mycontainer:0.0.2 0
primary.mycompany.com/mycontainer:0.0.3 0
primary.mycompany.com/mycontainer:0.0.4 0
primary.mycompany.com/mycontainer:latest 0
有谁知道我该如何解决这个问题?
最近发布的 3.0.2-02 解决了这个问题。您可以将主 Nexus 服务器上显示的存储库 URL 作为您的远程存储位置:
http(s)://<nexus host>/repository/<docker repo>
然后,按照您的预期配置所有内容,一切正常。一个例外是 "searching" 通过 docker search
将显示来自上游 repo 的主机名标签。例如:
docker search satellite.docker.mycompany.com/my-image
将return:
primary.docker.mycompany.com/my-image
Docker 拉,但是,工作得很好。
我们已经部署了 Sonatype Nexus 3 用作我们的内部工件存储库,它工作得很好......现在我们已经在我们的临时环境中完成了我们的概念验证,我们已经部署了 2 个额外的 Nexus 服务器在我们的一些远程网络中,以减少整个 WAN 的带宽利用率。因此,在 "satellite" nexus 服务器上,我创建了一个 Proxy Docker 存储库,用于代理我们的主要 Nexus 服务器。我遇到的问题是,当我尝试从其中一个卫星 Nexus 存储库中提取容器图像时,它找不到任何容器。当我代替我们 docker search
时,我可以看到容器,但它们列在错误的主机名下!!
docker search --limit 50 satellite.mycompany.com/mycontainer
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
primary.mycompany.com/mycontainer:0.0.1 0
primary.mycompany.com/mycontainer:0.0.2 0
primary.mycompany.com/mycontainer:0.0.3 0
primary.mycompany.com/mycontainer:0.0.4 0
primary.mycompany.com/mycontainer:latest 0
有谁知道我该如何解决这个问题?
最近发布的 3.0.2-02 解决了这个问题。您可以将主 Nexus 服务器上显示的存储库 URL 作为您的远程存储位置:
http(s)://<nexus host>/repository/<docker repo>
然后,按照您的预期配置所有内容,一切正常。一个例外是 "searching" 通过 docker search
将显示来自上游 repo 的主机名标签。例如:
docker search satellite.docker.mycompany.com/my-image
将return:
primary.docker.mycompany.com/my-image
Docker 拉,但是,工作得很好。