sha256:150f59c6d639cd1eae2677324262fd5dc2b559398e1de2f535e8500968c64403
2026-09-19 08:49:03 CST
262 MB
/usr/local/openjdk-28
JAVA_VERSION28-ea+16
LANGC.UTF-8
PATH/usr/local/openjdk-28/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[#000] sha256:774043ccc8ccd0d0833a9ee0792142ab7ad93df971e59dd248fbf82db16d0150 - 10.26% (26.9 MB)
[#001] sha256:03feebb21c3645f4fa13bb57cc0dfff9dc3e1ec03f59c2be4cc7b4128c4e4ecb - 1.47% (3.86 MB)
[#002] sha256:62a940ae246a79813e141656113fb41912f7d52b5eb5c601abc8564aa696d35c - 88.27% (232 MB)
# debian.sh --arch 'amd64' out/ 'bookworm' '@1789689600'
2026-09-19 08:48:50 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-09-19 08:49:03 CST (buildkit.dockerfile.v0)ENV JAVA_HOME=/usr/local/openjdk-28
2026-09-19 08:49:03 CST (buildkit.dockerfile.v0)ENV PATH=/usr/local/openjdk-28/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-09-19 08:49:03 CST (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2026-09-19 08:49:03 CST (buildkit.dockerfile.v0)ENV JAVA_VERSION=28-ea+16
2026-09-19 08:49:03 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/16/GPL/openjdk-28-ea+16_linux-x64_bin.tar.gz'; downloadSha256='93ae55fa44cad32c717ad9805d3dc03be8f26168cdaebc0453c78fd71d4d3abd'; ;; 'arm64') downloadUrl='https://download.java.net/java/early_access/jdk28/16/GPL/openjdk-28-ea+16_linux-aarch64_bin.tar.gz'; downloadSha256='dde88010bb204e2403411d4c01f53ab709dc28bad29dc41d8ed56af144d59972'; ;; *) 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-09-19 08:49:03 CST (buildkit.dockerfile.v0)CMD ["jshell"]
sha256:d6d2b69a8cfc5c63c908fb8dd361fd320a98214e1c336836e6b1d57c8a611e85
2026-09-19 08:52:08 CST
260 MB
/usr/local/openjdk-28
JAVA_VERSION28-ea+16
LANGC.UTF-8
PATH/usr/local/openjdk-28/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[#000] sha256:333125b5cee9fb6718bdcb523fc93b4adc71b7c37ada6146a20c193430e549b9 - 10.3% (26.8 MB)
[#001] sha256:53d53e658e250f807eccbb9681d38a0ccda3b572baf4a3b0834aee73f1d73cc2 - 1.41% (3.68 MB)
[#002] sha256:7ab8e4e452ead762493c7056ffaa73cc9969a0c88b0522d1ff9e0833ebd84a58 - 88.28% (230 MB)
# debian.sh --arch 'arm64' out/ 'bookworm' '@1789689600'
2026-09-19 08:51:54 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-09-19 08:52:08 CST (buildkit.dockerfile.v0)ENV JAVA_HOME=/usr/local/openjdk-28
2026-09-19 08:52:08 CST (buildkit.dockerfile.v0)ENV PATH=/usr/local/openjdk-28/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-09-19 08:52:08 CST (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2026-09-19 08:52:08 CST (buildkit.dockerfile.v0)ENV JAVA_VERSION=28-ea+16
2026-09-19 08:52:08 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/16/GPL/openjdk-28-ea+16_linux-x64_bin.tar.gz'; downloadSha256='93ae55fa44cad32c717ad9805d3dc03be8f26168cdaebc0453c78fd71d4d3abd'; ;; 'arm64') downloadUrl='https://download.java.net/java/early_access/jdk28/16/GPL/openjdk-28-ea+16_linux-aarch64_bin.tar.gz'; downloadSha256='dde88010bb204e2403411d4c01f53ab709dc28bad29dc41d8ed56af144d59972'; ;; *) 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-09-19 08:52:08 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.