Deven Phillips
Deven Phillips

Reputation: 1139

How Do I Proxy Internal Nexus Docker Repositories?

We have deployed Sonatype Nexus 3 to be used as our internal artifact repository, and it works GREAT... Now that we have completed our proof-of-concept in our staging environment, we have deployed 2 additional Nexus servers in some of our remote networks in order to reduce bandwidth utilization across the WAN. So, on the "satellite" nexus servers, I have created a Proxy Docker repo which is intended to proxy our primary Nexus server. The problem I am having is that when I attempt to pull a container image from one of the satellite Nexus repos, it cannot find any of the containers. When I instead us docker search, I can see the containers but they are listed under the wrong hostname!!

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

Does anyone know how I can resolve this?

Upvotes: 1

Views: 1662

Answers (1)

Deven Phillips
Deven Phillips

Reputation: 1139

With the recent release of 3.0.2-02, this problem is solved.. You can put the URL of the repository as shown on the Primary Nexus server as your remote storage location:

http(s)://<nexus host>/repository/<docker repo>

Then, configure everything as you would expect and it works. The one exception is that "searching" via docker search will show the hostname tag from the upstream repo. For example:

docker search satellite.docker.mycompany.com/my-image

will return:

primary.docker.mycompany.com/my-image

Docker pull, however, works perfectly fine.

Upvotes: 1

Related Questions