Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-18353

can't proxy older gcr.io docker images

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 3.14.0
    • Fix Version/s: 3.15.0
    • Component/s: Docker
    • Labels:
    • Environment:
      docker image sonatype/nexus3:3.14.0 on amazon ecs instance

      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

            Activity

              People

              Assignee:
              moncef Moncef Ben-Soula
              Reporter:
              stuart.warren Stuart Warren
              Last Updated By:
              Peter Lynch
              Team:
              NXRM - Cypher
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title