distroless/Dockerfile_java
2025-03-30 12:53:32 +02:00

36 lines
No EOL
1.1 KiB
Text

# Define build arguments
ARG JAVA_VERSION=21.0.6+7
FROM busybox:1.37.0 AS builder
# Set working directory
WORKDIR /build
# Define build arguments
ARG JAVA_VERSION
ARG JAVA_HOME=opt/java/openjdk
# Download and extract OpenJDK
RUN MAJOR=$(echo ${JAVA_VERSION} | cut -d'.' -f1) && \
VERSION_UNDERSCORE=$(echo ${JAVA_VERSION} | sed 's/+/_/') && \
wget -q https://github.com/adoptium/temurin${MAJOR}-binaries/releases/download/jdk-${JAVA_VERSION}/OpenJDK${MAJOR}U-jre_x64_linux_hotspot_${VERSION_UNDERSCORE}.tar.gz && \
mkdir -p $JAVA_HOME && \
tar xf OpenJDK${MAJOR}U-jre_x64_linux_hotspot_${VERSION_UNDERSCORE}.tar.gz -C $JAVA_HOME --strip-components 1 --no-same-owner && \
rm -rf $JAVA_HOME/legal OpenJDK${MAJOR}U-jre_x64_linux_hotspot_${VERSION_UNDERSCORE}.tar.gz
# Use a minimal base image
FROM base
# Define build arguments
ARG JAVA_VERSION
# Set environment variables
ENV JAVA_HOME=/opt/java/openjdk
ENV JAVA_VERSION=$JAVA_VERSION
ENV PATH=$JAVA_HOME/bin:$PATH
# Copy Java runtime from the builder stage
COPY --from=builder /build /
# Set the default command
ENTRYPOINT ["java"]