| ADD alpine-minirootfs-3.24.2-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| ENV JAVA_HOME=/opt/java/openjdk |
| ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 |
| RUN /bin/sh -c set -eux; apk add --no-cache fontconfig ttf-dejavu ca-certificates p11-kit-trust musl-locales musl-locales-lang tzdata coreutils openssl ; rm -rf /var/cache/apk/* # buildkit |
| ENV JAVA_VERSION=jdk-25.0.4.1+1 |
| RUN /bin/sh -c set -eux; ARCH="$(apk --print-arch)"; case "${ARCH}" in aarch64) ESUM='0200539904de3669dce5c435aa1ef71f530325d6461c76d85fe90d5424e4974e'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/OpenJDK25U-jre_aarch64_alpine-linux_hotspot_25.0.4.1_1.tar.gz'; ;; x86_64) ESUM='cde9e39d32cab07722cb3218d91980091012f16333f8a298c40896cd05e2ffea'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/OpenJDK25U-jre_x64_alpine-linux_hotspot_25.0.4.1_1.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; apk add --no-cache --virtual .fetch-deps gnupg; wget -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz; apk del --no-network .fetch-deps; # buildkit |
| RUN /bin/sh -c set -eux; echo "Verifying install ..."; echo "java --version"; java --version; echo "Complete." # buildkit |
| COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit |
| ENTRYPOINT ["/__cacert_entrypoint.sh"] |
| WORKDIR /app |
| RUN /bin/sh -c addgroup -S spring && adduser -S spring -G spring && chown -R spring:spring /app # buildkit |
| COPY --chown=spring:spring /workspace/target/lerntagebuch-api-1.0.0.jar app.jar # buildkit |
| USER spring:spring |
| EXPOSE [8081/tcp] |
| HEALTHCHECK {Test:[CMD-SHELL wget -qO- http://127.0.0.1:8081/actuator/health >/dev/null || exit 1] Interval:30s Timeout:3s StartPeriod:20s StartInterval:0s Retries:3} |
| ENTRYPOINT ["java" "-jar" "/app/app.jar"] |