Java with Docker on Debian
# https://download.oracle.com/java/21/latest/jdk-21_linux-aarch64_bin.tar.gz
# https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
# https://download.oracle.com/java/24/latest/jdk-24_linux-aarch64_bin.tar.gz
# https://download.oracle.com/java/24/latest/jdk-24_linux-x64_bin.tar.gz
ARG DOCKER_VERSION=28.3.3
ARG JAVA_VERSION=21
FROM debian:12-slim AS download-linux-amd64
ARG DOCKER_VERSION
ARG JAVA_VERSION=21
RUN apt update && apt install -y wget && apt clean && apt autoremove --purge && rm -rf /var/cache/apt/archives
RUN wget -O /jdk-${JAVA_VERSION}.tar.gz https://download.oracle.com/java/${JAVA_VERSION}/latest/jdk-${JAVA_VERSION}_linux-x64_bin.tar.gz
RUN tar xfz /jdk-${JAVA_VERSION}.tar.gz
RUN rm -f /jdk*.tar.gz
RUN mv /jdk* /jdk
FROM debian:12-slim AS download-linux-arm64
ARG DOCKER_VERSION
ARG JAVA_VERSION=21
RUN apt update && apt install -y wget && apt clean && apt autoremove --purge && rm -rf /var/cache/apt/archives
RUN wget -O /jdk-${JAVA_VERSION}.tar.gz https://download.oracle.com/java/${JAVA_VERSION}/latest/jdk-${JAVA_VERSION}_linux-aarch64_bin.tar.gz
RUN tar xfz /jdk-${JAVA_VERSION}.tar.gz
RUN rm -f /jdk*.tar.gz
RUN mv /jdk* /jdk
FROM docker:${DOCKER_VERSION} AS docker
FROM download-${TARGETOS}-${TARGETARCH} AS download
FROM debian:12-slim AS main
ENV DOCKER_TLS_CERTDIR=/certs
VOLUME /var/lib/docker
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
curl \
bash \
ca-certificates \
iptables \
openssl \
pigz \
xz-utils \
; \
rm -rf /var/lib/apt/lists/*
RUN mkdir /certs /certs/client && chmod 1777 /certs /certs/client
COPY --from=docker /usr/local/bin/ /usr/local/bin/
COPY --from=download /jdk /opt/jdk
ENV PATH=$PATH:/opt/jdk/bin
Content type
Image
Digest
sha256:a3255ef73…
Size
293 MB
Last updated
about 1 year ago
docker pull slinkgo/java:21