Docker pull of "rhel" through docker hub fails with "Error: image rhel/latest not found"

Problem:

When you attempt to pull RedHat enterprise docker images through Nexus 3 they fail with a "not found" error.  The same pull request going directly to docker hub works.

Solution:

When you request the "rhel" image from docker hub it makes a request to here:

https://index.docker.io/v1/repositories/library/rhel/images

This sends a redirect response to here:

https://registry.access.redhat.com/v1/repositories/library/rhel/images

After this the docker daemon remembers that it is now supposed to talk to https://registry.access.redhat.com, and it sends all subsequent requests to that location.

Unfortunately, there is no way we can replicate this behavior in Nexus, because it can't know which subsequent inbound requests from docker daemon are now supposed to be sent to registry.access.redhat.com, and which ones should continue to be sent to docker hub.

The workaround to this issue is to create a new docker proxy repository, and set the remote URL for this to:

https://registry.access.redhat.com/

Put this new repository in your docker group repository in front of the docker hub proxy, and you'll now be able to pull rhel and other docker images hosted at RedHat through Nexus.

Have more questions? Submit a request

0 Comments

Article is closed for comments.
Powered by Zendesk