Downloading from the registry is slow, what next?

I have a user who is experiencing very slow download times in China

https://meta.discourse.org/t/unable-to-find-image-samsaffron-discourse-1-0-6-locally/21697/5

How does he go about troubleshooting this? Reporting this? and so on.

cc @sven @rufus

1 Like

It is possible to cache things on a private self-hosted registry using the open source docker-registry. Your user still needs to download the image once to cache it.

Reporting issues like this, when they could affect a large number of people, should be done both here on the forums and as a ticket to support@docker.com. The support ticket will catch our attention the fastest (usually the same working day).

There is a (now slightly outdated) debugging tool here: https://registry.hub.docker.com/u/rufus/docker-registry-debug/ That can give you the URLs needed to curl, but going through all the redirections and timing the actual network latencies at each step is a lot of work. I don’t have a quick way for your user to do the troubleshooting.

1 Like

more specifically, https://github.com/docker/docker/blob/master/docs/sources/articles/registry_mirror.md was written with this kind of thing in mind.

It won’t work on the official images (as they use the v2 registry API) until we fix it - currently intended for Docker 1.3.2, but you can hack it, by uploading a copy of the base image used to a non-mirror registry and pulling that explicitly first (then the image id would be there, and pulling the official image would only add the appropriate tag (i’m 99% sure))

1 Like

In docker 1.3.0 we added a --registry mirror option to the daemon that
makes it possible to add caching registries for non official images, and
we’re expecting official image caching to work in 1.3.2

These is a reference article in the documentation for it too (I’ll link it
tomorrow)

Sven

1 Like