Problem:
When you attempt to pull RedHat enterprise docker images through Nexus Repository 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 Repository 3, 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 Repository.