Closed reynico closed 5 months ago
Closing this issue for now, as I think I found the cause.
JIB likes the following format: the human-readable image tag is not present, and the image is referenced by just its digest @sha256:yyyy
.
image = "xxx.dkr.ecr.us-east-2.amazonaws.com/openjdk@sha256:yyyy"
which is confusing at best because if you revert that line to the one that includes the image tag as 17@sha256:yyyy
, it continues to work.
Just to be clear, you shouldn't include https://
in image
.
-image = "https://xxx.dkr.ecr.us-east-2.amazonaws.com/openjdk:17@sha256:yyyy"
+image = "xxx.dkr.ecr.us-east-2.amazonaws.com/openjdk:17@sha256:yyyy"
Environment:
Description of the issue: Hey there, I'm facing problems reproducing a local environment. The project is Gradle-based, and I use JIB to build the containers. The base image is OpenJDK, stored in a private ECR Repository. The image we source in JIB is a manifest containing two images (an image index), one for arm64 and one for amd64.
The
.docker/config.json
:and the
docker-credential-osxkeychain
has the URL information (or that's what I imagine from the output):What I found is, if I remove the digest from the docker image in the jib config, i.e.:
Jib works as expected and actually pulls the correct tag with the removed digest:
One thing to note here is that
yyyy
is the digest for the manifest.Expected behavior: Jib should be able to get the base image with the digest hash as well.
jib-gradle-plugin
Configuration:Log output:
...
Additional Information:
docker system prune -a
, delete gradle cache, and delete JIB cache.