6

We are using Nexus3 docker groups (combining dockerhub proxy and private registry) aka:

docker pull dockerproxy:5002/busybox

trying to pull from dockerhub if it does not exist in private registry, push storing in private registry part. Works fine.

But how can I make:

docker pull busybox

go to this registry without having to prefix dockerproxy:5002 first?

An environment variable?, $HOME/.docker/config.json? Creative tagging?

Thanks

MortenB
  • 2,749
  • 1
  • 31
  • 35

2 Answers2

6

No, the registry address is part of the full tag for the image. If you don't specify an address, Docker Hub is assumed, and you can't change to a different default.

There's no way around it (short of building your own Docker Engine) - it's a deliberate design decision:

this would lead to a situation where docker pull ubuntu could mean two different things for two different persons/installs, that would very bad for the user. It would lead to a fragmentation of the ecosystem and break the community.

Elton Stoneman
  • 17,906
  • 5
  • 47
  • 44
  • 2
    Very annoying for any kind of proxying. – Velkan Jul 13 '17 at 10:00
  • 1
    that's an interesting thread... i have to agree with most of them in saying that it's just adding flexibility and shouldn't affect existing users unless im missing something. sounds like the product builder is just fighting agains the community w/ little reasoning – dtc Oct 19 '20 at 20:42
5

Docker support mirrors of docker.io hub https://docs.docker.com/registry/recipes/mirror/:

edit /etc/docker/daemon.json and add the registry-mirrors key and value, to make the change persistent.

{ "registry-mirrors": ["https://dockerproxy:5002"] }

Save the file and reload Docker for the change to take effect.

Now docker pull busybox from your nexus proxy.

Aleksei
  • 398
  • 2
  • 13