My goal is to run native image file created by GraalVM with Alpine docker because the Docker Image with GraalVM JDK size is too big, around 587.82 MB
What I've did:
- Use GraalVM JDK, and it works when I try to call
./main
FROM ghcr.io/graalvm/native-image:java11-21.2
WORKDIR /app
COPY ./src/main/java/ /app
RUN javac Main.java
RUN native-image Main
FROM ghcr.io/graalvm/jdk:java11-21.2
WORKDIR /app
COPY --from=0 /app/main /app/main
CMD ./main
The problem is when I try to switch GraalVM JDK to Alpine
FROM ghcr.io/graalvm/native-image:java11-21.2
WORKDIR /app
COPY ./src/main/java/ /app
RUN javac Main.java
RUN native-image Main
FROM alpine:3.15
WORKDIR /app
COPY --from=0 /app/main /app/main
CMD ./main
It throws an error native-image_1 | /bin/sh: ./main: not found