GoogleContainerTools / distroless

🥑 Language focused docker images, minus the operating system.
Apache License 2.0
18.15k stars 1.11k forks source link

Docker image with distroless as a base image is throwing error while deploying to AWS EKS #1585

Open Venkatesh-Navali opened 2 months ago

Venkatesh-Navali commented 2 months ago

Describe the bug When using the gcr.io/distroless/java17-debian11 base image in my Dockerfile to create a Docker image and deploying the same to AWS EKS cluster, I encountered an error. and error is "exec /usr/bin/java: exec format error"

To Reproduce Steps to reproduce the behavior:

  1. Use the 'gcr.io/distroless/java17-debian11' base image in a Dockerfile.
  2. Build the Docker image with a sample spring boot application
  3. Deploy the Docker image to an AWS EKS cluster.
  4. Observe the error message: exec /usr/bin/java: exec Expected behavior The Docker image should deploy successfully to the AWS EKS cluster without encountering the "exec /usr/bin/java: exec" error.

Console Output exec /usr/bin/java: exec format error

Additional context Docker Engine : 25.0.3 Docker client: 25.0.3 Docker Desktop : 4.28.0 (139021) AWS EKS Platform Version : eks.11 Kubernetes version : 1.28

Attaching a sample Dockerfile used. DockerFile.txt

loosebazooka commented 2 months ago

We typically don't have the kind of eng capacity to debug these errors. You might need to do a deeper dive into the problem and if it's an actual distroless issue we can fix it. On a surface level it seems like you might have an architecture mismatch. As if you're build on a mac and deploying to an amd64 cluster.

souphi commented 1 month ago

@loosebazooka That mean there is not any known compatibility issue with AWS EKS with distroless images(gcr.io/distroless/java17-debian11).

loosebazooka commented 1 month ago

Potentially. I have personally not seen one.