Update error message to accommodate OCI: "Registry may not support Image Manifest Version 2, Schema 2"
See original GitHub issueRegistry may not support Image Manifest Version 2, Schema 2
at com.google.cloud.tools.jib.registry.RegistryErrorExceptionBuilder.build(RegistryErrorExceptionBuilder.java:108)
at com.google.cloud.tools.jib.registry.ManifestPusher.handleHttpResponseException(ManifestPusher.java:119)
at com.google.cloud.tools.jib.registry.ManifestPusher.handleHttpResponseException(ManifestPusher.java:39)
at com.google.cloud.tools.jib.registry.RegistryEndpointCaller.call(RegistryEndpointCaller.java:258)
at com.google.cloud.tools.jib.registry.RegistryEndpointCaller.fallBackToHttp(RegistryEndpointCaller.java:210)
at com.google.cloud.tools.jib.registry.RegistryEndpointCaller.callWithAllowInsecureRegistryHandling(RegistryEndpointCaller.java:180)
at com.google.cloud.tools.jib.registry.RegistryEndpointCaller.call(RegistryEndpointCaller.java:161)
at com.google.cloud.tools.jib.registry.RegistryClient.callRegistryEndpoint(RegistryClient.java:356)
at com.google.cloud.tools.jib.registry.RegistryClient.pushManifest(RegistryClient.java:225)
at com.google.cloud.tools.jib.builder.steps.PushImageStep.lambda$afterAllPushed$0(PushImageStep.java:162)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.google.api.client.http.HttpResponseException: 400 Bad Request
{"errors":[{"code":"MANIFEST_INVALID","message":"manifest invalid","detail":{}}]}
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1102)
at com.google.cloud.tools.jib.http.Connection.send(Connection.java:200)
at com.google.cloud.tools.jib.registry.RegistryEndpointCaller.call(RegistryEndpointCaller.java:251)
... 12 more
Issue Analytics
- State:
- Created 4 years ago
- Comments:12 (7 by maintainers)
Top Results From Across the Web
Image Manifest V 2, Schema 2 - Docker Documentation
This second schema version has two primary goals. The first is to allow multi-architecture images, through a “fat manifest” which references image manifests...
Read more >JFrog Artifactory error: Pushing Docker images with manifest ...
So I can upload the image fine to the first repository, and confirm that it is using schema 2: { "schemaVersion": 2, "mediaType":...
Read more >Amazon ECR supports Docker Image Manifest V2, Schema 2
Amazon EC2 Container Registry (ECR) now supports Docker Image Manifest V2, Schema 2 providing the ability to assign multiple tags per image, ...
Read more >About registries, repositories, and artifacts - Microsoft Learn
Docker Hub is an example of a public container registry that serves as a general catalog of Docker container images. Azure Container Registry...
Read more >Artifactory Release Notes - JFrog
Fixed an issue whereby, Artifactory returned a 500 error message while resolving ... Please note that from version 7.41.2, the default value is...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I had the same with Quay.io. It supports Docker, but not OCI format. When I have
format = 'OCI'
in build.gradle and try to build usinggradle jib
, I get the misleading messageRegistry may not support Image Manifest Version 2, Schema 2
. Withformat = 'Docker'
everything works fine after you are whitelisted by Quay for V2.2 support.Can we make the error message more useful like
Registry may not support Image Manifest Version 2, Schema 2 or container image format ${format}
?Perhaps you are a bit confused between the OCI manifest and the Docker Manifest V2.2.
The OCI manifest is of media type
application/vnd.oci.image.manifest.v1+json
, while the Docker Image Manifest Version 2, Schema 2 is of typeapplication/vnd.docker.distribution.manifest.v2+json
.So, it could be simply that the registry does not support OCI.
What registry are you trying to build to? (For example, Docker Hub, Quay, private Harbor, etc.)