Where Docker default registry URL is configured?

asg picture asg · Dec 19, 2018 · Viewed 14.3k times · Source

I am refering to this link - Docker pull.

By default, docker pull pulls images from Docker Hub (https://hub.docker.com).

enter image description here

I would like to know where this link is configured on our local machine setup. I am using Docker on Windows 10.

Answer

Fabian Braun picture Fabian Braun · Dec 19, 2018

You cannot change the default domain of a docker image. This is by design:

Your Docker installation with this "private registry defined in the config file" would be incompatible with every other Docker installation out there. Running docker pull debian needs to pull from the same place on every Docker install.

A developer using Docker on their box will use debian, centos and ubuntu official images. Your hacked up Docker install would just serve your own versions of those images (if they're present) and this will break things.

You should identify your image through the full URL:

<your-private-registry>/<repository>/<image>:<tag>

The default domain docker.io (the "docker hub") is hardcoded in docker's code. For example here:

https://github.com/docker/distribution/blob/master/reference/normalize.go

Check the function splitDockerDomain which sets docker.io as registry if it's not provided by the user.