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

Docker v20.10.0 push of new image tag fails to a repository with the deployment policy set to disable redeploy

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 3.27.0
    • Fix Version/s: None
    • Component/s: Docker
    • Labels:

      Description

      I'm seeing an issue similar to NEXUS-25868 with the latest version of Docker (20.10.0, build 7287ab3).

      When I try to push the same image with multiple tags to a repository with the deployment policy set to disable redeploy I see the following behaviour:

      docker tag docker.redacted.com/geo/ajxb/e3/auth:0.0.1 docker.redacted.com/geo/ajxb/e3/auth:latest
      
      docker push docker.redacted.com/geo/ajxb/e3/auth:0.0.1
      The push refers to repository [docker.servicesglb.com/geo/ajxb/e3/auth]
      4336a22d5956: Layer already exists 
      0d0b78c284d2: Layer already exists 
      89ae5c4ee501: Layer already exists 
      0.0.1: digest: sha256:63a8061fb12a5058d7ba32a963aec6244d3f169e4065a15b8a466b8ca70df65d size: 946
      
      
      docker push docker.redacted.com/geo/ajxb/e3/auth:latest
      The push refers to repository [docker.servicesglb.com/geo/ajxb/e3/auth]
      4336a22d5956: Layer already exists 
      0d0b78c284d2: Layer already exists 
      89ae5c4ee501: Layer already exists 
      blob upload invalid: blob upload invalid
      

       The corresponding Nexus log indicates :

      Error: PUT /v2/geo/ajxb/e3/auth/manifests/latest: 400 - Repository does not allow updating assets: docker-releases
      

      If I try the same with Docker 19.03.12, build 48a66213fe I have no such problem:

      docker tag docker.redacted.com/geo/ajxb/e3/auth:0.0.1 docker.redacted.com/geo/ajxb/e3/auth:latest
      
      docker push docker.redacted.com/geo/ajxb/e3/auth:0.0.1
      The push refers to repository [docker.servicesglb.com/geo/ajxb/e3/auth]
      473309b81d47: Layer already exists 
      e9f8a34c2cf7: Layer already exists 
      89ae5c4ee501: Layer already exists 
      0.0.1: digest: sha256:519a547543b68fa0e25e6a4d22424b0fbd11f83b23830c2d2fe8bee04b6e1e1e size: 946
      
      docker push docker.redacted.com/geo/ajxb/e3/auth:latest
      The push refers to repository [docker.servicesglb.com/geo/ajxb/e3/auth]
      473309b81d47: Layer already exists 
      e9f8a34c2cf7: Layer already exists 
      89ae5c4ee501: Layer already exists 
      [DEPRECATION NOTICE] registry v2 schema1 support will be removed in an upcoming release. Please contact admins of the docker.servicesglb.com registry NOW to avoid future disruption. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/
      latest: digest: sha256:a5ffb745947622e2500d946610df2a3a5e55d8830b8d114e7b416d7337cc2904 size: 4036
      

      What I have noticed that with 19.03.12 the digest differs between the two images. For 20.10.0 the digest is the same, could this have something to do with the issue I'm seeing.

      Similarly if I try to give the same image multiple tags, Nexus3 will only accept one of the tags to be pushed with the newer version of Docker.

      I should note we are using Nexus OSS 3.27.0-03

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              butleraj Adam Butler
              Last Updated By:
              Joe Tom Joe Tom
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title