sha256:09adfcc6ba14dee45d075d5afd0e60cf4b33b6fa6b2f05a62250fec4be11ecc5
2026-08-11 07:34:30 CST
262 MB
/usr/local/openjdk-28
JAVA_VERSION28-ea+10
LANGC.UTF-8
PATH/usr/local/openjdk-28/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[#000] sha256:039e6f9f9752f74a3ff4a6a224f64c7c864da16ed98f882107704328f41b9c42 - 10.27% (26.9 MB)
[#001] sha256:e593ebcdd19de91c42f5c82de1d78975eb0da6a9b18f682d4121d9da4548ddbe - 1.47% (3.86 MB)
[#002] sha256:f0d5b2b23fc181a74f3ed87cd7e5a95c043408f9b76491376b6e3bd1661e252d - 88.26% (231 MB)
# debian.sh --arch 'amd64' out/ 'bookworm' '@1785715200'
2026-08-11 07:33:36 CST (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates p11-kit ; rm -rf /var/lib/apt/lists/* # buildkit
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)ENV JAVA_HOME=/usr/local/openjdk-28
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)ENV PATH=/usr/local/openjdk-28/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)ENV JAVA_VERSION=28-ea+10
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; arch="$(dpkg --print-architecture)"; case "$arch" in 'amd64') downloadUrl='https://download.java.net/java/early_access/jdk28/10/GPL/openjdk-28-ea+10_linux-x64_bin.tar.gz'; downloadSha256='66bd0175520c0c0d45c725daaf542c168ac93dab2cc227935ee2f59cc4cc2bd9'; ;; 'arm64') downloadUrl='https://download.java.net/java/early_access/jdk28/10/GPL/openjdk-28-ea+10_linux-aarch64_bin.tar.gz'; downloadSha256='93d9b80f351911f1dc4dd170974dae1484079f14f1a646eecb776c6bde6b495c'; ;; *) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;; esac; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends wget ; rm -rf /var/lib/apt/lists/*; wget --progress=dot:giga -O openjdk.tgz "$downloadUrl"; echo "$downloadSha256 *openjdk.tgz" | sha256sum --strict --check -; mkdir -p "$JAVA_HOME"; tar --extract --file openjdk.tgz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm openjdk.tgz*; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; { echo '#!/usr/bin/env bash'; echo 'set -Eeuo pipefail'; echo 'trust extract --overwrite --format=java-cacerts --filter=ca-anchors --purpose=server-auth "$JAVA_HOME/lib/security/cacerts"'; } > /etc/ca-certificates/update.d/docker-openjdk; chmod +x /etc/ca-certificates/update.d/docker-openjdk; /etc/ca-certificates/update.d/docker-openjdk; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; fileEncoding="$(echo 'System.out.println(System.getProperty("file.encoding"))' | jshell -s -)"; [ "$fileEncoding" = 'UTF-8' ]; rm -rf ~/.java; javac --version; java --version # buildkit
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)CMD ["jshell"]
sha256:ef06cc440a7353fab7aafa1e2ce6609e7fccf1f5c0f433898ecd04b59f071ed7
2026-08-11 07:34:30 CST
260 MB
/usr/local/openjdk-28
JAVA_VERSION28-ea+10
LANGC.UTF-8
PATH/usr/local/openjdk-28/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[#000] sha256:0f5d7465a5bb9d419f60c93d126a161286c73a1ede4a8b2e46bd5e7ad5782cc7 - 10.31% (26.8 MB)
[#001] sha256:2c9b95b73800b7fe9dcaf1828a4b20d53b1c11c71137d5f212b0f38f540bdb00 - 1.42% (3.68 MB)
[#002] sha256:8c448c51a7e0b0edcf72f8963b49ca9a22a0be76212be34963e27bdb8355e90e - 88.28% (230 MB)
# debian.sh --arch 'arm64' out/ 'bookworm' '@1785715200'
2026-08-11 07:33:33 CST (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates p11-kit ; rm -rf /var/lib/apt/lists/* # buildkit
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)ENV JAVA_HOME=/usr/local/openjdk-28
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)ENV PATH=/usr/local/openjdk-28/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)ENV JAVA_VERSION=28-ea+10
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; arch="$(dpkg --print-architecture)"; case "$arch" in 'amd64') downloadUrl='https://download.java.net/java/early_access/jdk28/10/GPL/openjdk-28-ea+10_linux-x64_bin.tar.gz'; downloadSha256='66bd0175520c0c0d45c725daaf542c168ac93dab2cc227935ee2f59cc4cc2bd9'; ;; 'arm64') downloadUrl='https://download.java.net/java/early_access/jdk28/10/GPL/openjdk-28-ea+10_linux-aarch64_bin.tar.gz'; downloadSha256='93d9b80f351911f1dc4dd170974dae1484079f14f1a646eecb776c6bde6b495c'; ;; *) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;; esac; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends wget ; rm -rf /var/lib/apt/lists/*; wget --progress=dot:giga -O openjdk.tgz "$downloadUrl"; echo "$downloadSha256 *openjdk.tgz" | sha256sum --strict --check -; mkdir -p "$JAVA_HOME"; tar --extract --file openjdk.tgz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm openjdk.tgz*; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; { echo '#!/usr/bin/env bash'; echo 'set -Eeuo pipefail'; echo 'trust extract --overwrite --format=java-cacerts --filter=ca-anchors --purpose=server-auth "$JAVA_HOME/lib/security/cacerts"'; } > /etc/ca-certificates/update.d/docker-openjdk; chmod +x /etc/ca-certificates/update.d/docker-openjdk; /etc/ca-certificates/update.d/docker-openjdk; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; fileEncoding="$(echo 'System.out.println(System.getProperty("file.encoding"))' | jshell -s -)"; [ "$fileEncoding" = 'UTF-8' ]; rm -rf ~/.java; javac --version; java --version # buildkit
2026-08-11 07:34:30 CST (buildkit.dockerfile.v0)CMD ["jshell"]
Please be careful as this will not just delete the reference but also the actual content!
For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.