Details
Description
When a docker image is pushed into a Repository that has Redeploy Disabled, even if it is a valid new tag, the Manifest is generated as V1 instead of V2 and causes deprecation warnings.
Reproduce
Create a new docker image. The following is enough for a Dockerfile:
FROM alpine
RUN echo "Hello World" > hello.txt
Build and tag the image:
docker build -t nexus/hello-test:1 .
Login as necessary and then push the image:
docker push nexus/hello-test:1
No warnings should be displayed and a manifest will be created in Nexus with type:
application/vnd.docker.distribution.manifest.v2+json
Tag a new version:
docker tag nexus/hello-test:1 nexus/hello-test:2
Push this version:
docker push nexus/hello-test:2
The following Warning will be shown:
[DEPRECATION NOTICE] registry v2 schema1 support will be removed in an upcoming release. Please contact admins of the 192.168.1.121:9001 registry NOW to avoid future disruption.
The newly generated manifest will incorrectly have a type of:
application/vnd.docker.distribution.manifest.v1+prettyjws
This is now subject to deprecation and there is no reason that it should be a V1 manifest.
If the repository is set to Allow Redeploy, this does not occur and the v2 manifest is generated correctly.
Attachments
Issue Links
- duplicates
-
NEXUS-25425 Docker repository's Deployment policy: "Disable redeploy" should not check the manifest file
-
- Closed
-
- is related to
-
NEXUS-25857 end support for docker V1 manifest
-
- New
-
- relates
-
NEXUS-25626 Docker redeploy on the latest tag fails when more than one tag exists for the image
-
- Closed
-
-
NEXUS-25868 Podman push of new image tag fails when docker cli push succeeds for the same actions
-
- Closed
-