FROM arm64v8/debian:12 RUN apt-get update -y &&\ apt-get install --force-yes -y build-essential curl &&\ apt-get install --force-yes -y libz-dev zlib1g-dev zlib1g ENV GRAALVM_URL='https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.2/graalvm-community-jdk-21.0.2_linux-aarch64_bin.tar.gz' RUN mkdir /graalvm &&\ curl -L $GRAALVM_URL > /tmp/graalvm.tgz &&\ tar --strip 1 -zxvf /tmp/graalvm.tgz -C /graalvm ENV JAVA_HOME=/graalvm ENV PATH="${PATH}:$JAVA_HOME/bin" RUN uname -a && whoami && $JAVA_HOME/bin/java -version WORKDIR /app/build COPY ./build/artifacts/native-image-source/ /app/build ENV JAVA_TOOL_OPTIONS='-Djdk.lang.Process.launchMechanism=fork' RUN uname -m && ls -lha &&\ native-image -H:PageSize=65536 -Djdk.lang.Process.launchMechanism=fork -J-Djdk.lang.Process.launchMechanism=fork \ -jar dns-proxy-server.jar dns-proxy-server RUN ls -lhS &&\ mkdir -p ./artifacts/linux-aarch64 &&\ mv ./dns-proxy-server ./artifacts/linux-aarch64/ ENTRYPOINT cat