Details
Description
Since upgrading nexus to 3.14 we have been unable to pull certain older docker images from one repository proxying https://gcr.io
In my relatively limited testing there is a correlation between images with only v1 docker manifests and not being able to be proxied through nexus
$ curl https://gcr.io/v2/google_containers/leader-elector/manifests/0.5 -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' {"errors":[{"code":"MANIFEST_UNKNOWN","message":"Manifest with tag '0.5' has media type 'application/vnd.docker.distribution.manifest.v1+prettyjws', but client accepts 'application/vnd.docker.distribution.manifest.v2+json'."}]} $ curl -s -o /dev/null -w "%{http_code}" https://gcr.io/v2/google_containers/leader-elector/manifests/0.5 -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' 404 $ docker pull gcr.docker.foo.com/google_containers/leader-elector:0.5 Error response from daemon: digest invalid: provided digest did not match uploaded content $ curl -s -o /dev/null -w "%{http_code}" https://gcr.io/v2/google_containers/leader-elector/manifests/0.4 -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' 200 $ docker pull gcr.docker.foo.com/google_containers/leader-elector:0.4 0.4: Pulling from google_containers/leader-elector ... $ curl -s -o /dev/null -w "%{http_code}" https://gcr.io/v2/google_containers/echoserver/manifests/1.4 -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' 404 $ docker pull gcr.docker.foo.com/google_containers/echoserver:1.4 Error response from daemon: digest invalid: provided digest did not match uploaded content $ curl -s -o /dev/null -w "%{http_code}" https://gcr.io/v2/google_containers/echoserver/manifests/1.10 -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' 200 $ docker pull gcr.docker.foo.com/google_containers/echoserver:1.10 1.10: Pulling from google_containers/echoserver ... $ curl -s -o /dev/null -w "%{http_code}" https://gcr.io/v2/google_containers/node-problem-detector/manifests/v0.2 -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' 404 $ docker pull gcr.docker.foo.com/google_containers/node-problem-detector:v0.2 Error response from daemon: digest invalid: provided digest did not match uploaded content $ curl -s -o /dev/null -w "%{http_code}" https://gcr.io/v2/google_containers/node-problem-detector/manifests/v0.5.0 -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' 200 $ docker pull gcr.docker.foo.com/google_containers/node-problem-detector:v0.5.0 v0.5.0: Pulling from google_containers/node-problem-detector ...
those with http_code of 200 tend to proxy fine, those with a 404 won't proxy correctly
Attachments
Issue Links
- relates
-
NEXUS-18263 docker proxy repositories configured with a remote URL including extra path info will not proxy correctly
-
- Closed
-