java Languages & Runtimes
Shell-less OpenJDK 21 JRE built on Wolfi.
Pull this image
docker pull ghcr.io/rtvkiz/minimal-java:latest docker pull ghcr.io/rtvkiz/minimal-java:latest-dev The -dev variant adds a shell, package manager and build toolchain. For CI and debugging — not production.
Details
- Repository
- ghcr.io/rtvkiz/minimal-java
- Size (compressed)
- 254 MB
- Built
- 2026-09-28T23:20:50Z (today)
- Architectures
- x86_64, aarch64
- Primary package
- openjdk-21
- Entrypoint
- /usr/bin/java
- User
- nonroot (65532)
- Working dir
- /app
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-java org.opencontainers.image.description Hardened shell-less OpenJDK 21 JRE image built on Wolfi with daily CVE patches org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/java org.opencontainers.image.licenses Apache-2.0
- Entrypoint
- /usr/bin/java
- User
- nonroot (65532)
- Working dir
- /app
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-java-dev org.opencontainers.image.description Dev variant of minimal-java: full OpenJDK 26 (not just JRE) + shell + git. Not for production. org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/java org.opencontainers.image.licenses Apache-2.0 dev.minimal.variant dev
| Tag | Pull | Published |
|---|---|---|
| 27 | ghcr.io/rtvkiz/minimal-java:27 | 2026-09-28 |
| 27.0 | ghcr.io/rtvkiz/minimal-java:27.0 | 2026-09-28 |
| 27.0.0-r1 | ghcr.io/rtvkiz/minimal-java:27.0.0-r1 | 2026-09-28 |
| 27.0.0-r1-20260928 | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260928 | 2026-09-28 |
| latest | ghcr.io/rtvkiz/minimal-java:latest | 2026-09-28 |
| 27-dev | ghcr.io/rtvkiz/minimal-java:27-dev | 2026-09-28 |
| 27.0-dev | ghcr.io/rtvkiz/minimal-java:27.0-dev | 2026-09-28 |
| 27.0.0-r1-20260928-dev | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260928-dev | 2026-09-28 |
| 27.0.0-r1-dev | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-dev | 2026-09-28 |
| latest-dev | ghcr.io/rtvkiz/minimal-java:latest-dev | 2026-09-28 |
| 27.0.0-r1-20260927 | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260927 | 2026-09-27 |
| 27.0.0-r1-20260927-dev | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260927-dev | 2026-09-27 |
| 27.0.0-r1-20260926 | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260926 | 2026-09-26 |
| 27.0.0-r1-20260926-dev | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260926-dev | 2026-09-26 |
| 27.0.0-r1-20260925 | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260925 | 2026-09-25 |
| 27.0.0-r1-20260925-dev | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260925-dev | 2026-09-25 |
| 27.0.0-r1-20260924 | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260924 | 2026-09-24 |
| 27.0.0-r1-20260924-dev | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260924-dev | 2026-09-24 |
| 27.0.0-r1-20260923 | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260923 | 2026-09-23 |
| 27.0.0-r1-20260923-dev | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260923-dev | 2026-09-23 |
| 27.0.0-r1-20260922 | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260922 | 2026-09-22 |
| 27.0.0-r1-20260922-dev | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260922-dev | 2026-09-22 |
| 27.0.0-r1-20260921 | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260921 | 2026-09-21 |
| 27.0.0-r1-20260921-dev | ghcr.io/rtvkiz/minimal-java:27.0.0-r1-20260921-dev | 2026-09-21 |
| 26 | ghcr.io/rtvkiz/minimal-java:26 | 2026-09-21 |
| 26.0.2 | ghcr.io/rtvkiz/minimal-java:26.0.2 | 2026-09-21 |
| 26.0.2.1-r2 | ghcr.io/rtvkiz/minimal-java:26.0.2.1-r2 | 2026-09-21 |
| 26.0.2.1-r2-20260921 | ghcr.io/rtvkiz/minimal-java:26.0.2.1-r2-20260921 | 2026-09-21 |
| 26-dev | ghcr.io/rtvkiz/minimal-java:26-dev | 2026-09-21 |
| 26.0.2-dev | ghcr.io/rtvkiz/minimal-java:26.0.2-dev | 2026-09-21 |
| 26.0.2.1-r2-20260921-dev | ghcr.io/rtvkiz/minimal-java:26.0.2.1-r2-20260921-dev | 2026-09-21 |
| 26.0.2.1-r2-dev | ghcr.io/rtvkiz/minimal-java:26.0.2.1-r2-dev | 2026-09-21 |
| 26.0.2.1-r2-20260920 | ghcr.io/rtvkiz/minimal-java:26.0.2.1-r2-20260920 | 2026-09-20 |
| 26.0.2.1-r2-20260920-dev | ghcr.io/rtvkiz/minimal-java:26.0.2.1-r2-20260920-dev | 2026-09-20 |
| 26.0.2.1-r2-20260919 | ghcr.io/rtvkiz/minimal-java:26.0.2.1-r2-20260919 | 2026-09-19 |
| 26.0.2.1-r2-20260919-dev | ghcr.io/rtvkiz/minimal-java:26.0.2.1-r2-20260919-dev | 2026-09-19 |
| 26.0.2.1-r2-20260918 | ghcr.io/rtvkiz/minimal-java:26.0.2.1-r2-20260918 | 2026-09-18 |
| 26.0.2.1-r2-20260918-dev | ghcr.io/rtvkiz/minimal-java:26.0.2.1-r2-20260918-dev | 2026-09-18 |
184 packages in the image, resolved from the SPDX SBOM.
| Package | Version | License |
|---|---|---|
| alpine/ca-certificates | 20260909 | MPL-2.0 AND MIT |
| alsa-lib | 1.2.16.1-r2 | LGPL-2.1-or-later |
| alsa-lib | v1.2.16.1 | LGPL-2.1-or-later |
| alsa-lib | 1.2.16.1-r2 | LGPL-2.1-or-later |
| alsa-lib | 1.2.16.1-r2 | — |
| alsa-lib.yaml | af3540137e3e64182f21b81fd7497d503c8adc04 | Apache-2.0 |
| brotli | v1.2.0 | MIT |
| brotli.yaml | 9db3aeed30b6359289528ef564a4909f78faeac9 | Apache-2.0 |
| bzip2.yaml | 8867ad015582e91734eb840c4363388869f71fc5 | Apache-2.0 |
| ca-certificates | 20260909-r1 | MPL-2.0 AND MIT |
| ca-certificates | 20260909-r1 | (MPL-2.0 AND MIT) |
| ca-certificates | 20260909-r1 | — |
| ca-certificates-bundle | 20260909-r1 | MPL-2.0 AND MIT |
| ca-certificates-bundle | 20260909-r1 | (MPL-2.0 AND MIT) |
| ca-certificates-bundle | 20260909-r1 | — |
| ca-certificates.yaml | ee3eac73dda22e8dd32fa5fb3e3a1712a6e812d7 | Apache-2.0 |
| dejavu-fonts | version_2_37 | Bitstream-Vera |
| freetype | 2.14.3-r6 | FTL OR GPL-2.0-or-later |
| freetype | 2.14.3-r6 | (FTL OR GPL-2.0-or-later) |
| freetype | 2.14.3-r6 | — |
| freetype.yaml | 79fbc3c9f8c7d24ebc59fe262c2578f975387c2d | Apache-2.0 |
| freetype/freetype | VER-2-14-3 | FTL OR GPL-2.0-or-later |
| gcc.yaml | 794cf72f88e1b408eca5da0dbf5c5ed25543606d | Apache-2.0 |
| giflib | 6.1.3-r1 | MIT |
| giflib | 6.1.3-r1 | MIT |
| giflib | 6.1.3-r1 | — |
| giflib.yaml | cb7b2d42f6aec4553036e8deccdbe896eb73bd20 | Apache-2.0 |
| git/bzip2 | bzip2-1.0.8 | MPL-2.0 AND MIT |
| git/glibc | b4f51887c48ac82acfdb13f96d9eab5d120cb2b7 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r7 | — |
| glibc-2.44-locale-posix | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44-locale-posix | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44-locale-posix | 2.44-r7 | — |
| glibc-2.44.yaml | 2f4fbb70b55156f2d4cabff471b50dab0e75aa89 | Apache-2.0 |
| gnutls/libtasn1 | v4.21.0 | LGPL-2.1-or-later |
| gnutools/gcc | releases/gcc-16.2.0 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| java-cacerts | 20260909-r1 | MPL-2.0 AND MIT |
| java-cacerts | 20260909-r1 | (MPL-2.0 AND MIT) |
| java-cacerts | 20260909-r1 | — |
| java-common-jre | 0.2-r3 | GPL-2.0-or-later |
| java-common-jre | 0.2-r3 | GPL-2.0-or-later |
| java-common-jre | 0.2-r3 | — |
| java-common.yaml | 828ef8a1f016990fae89f60c094c494eaeaff654 | Apache-2.0 |
| jdk27u | jdk-27+35 | GPL-2.0 WITH Classpath-exception-2.0 |
| jrt-fs | 27 | — |
| lcms2 | 2.19.1-r2 | MIT AND GPL-3.0-only |
| lcms2 | 2.19.1-r2 | (MIT AND GPL-3.0-only) |
| lcms2 | 2.19.1-r2 | — |
| lcms2.yaml | 3be4812b7c852b960fb73933eb247e2bd972298d | Apache-2.0 |
| ld-linux-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| ld-linux-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| ld-linux-2.44 | 2.44-r7 | — |
| libbrotlicommon1 | 1.2.0-r5 | MIT |
| libbrotlicommon1 | 1.2.0-r5 | MIT |
| libbrotlicommon1 | 1.2.0-r5 | — |
| libbrotlidec1 | 1.2.0-r5 | MIT |
| libbrotlidec1 | 1.2.0-r5 | MIT |
| libbrotlidec1 | 1.2.0-r5 | — |
| libbrotlienc1 | 1.2.0-r5 | MIT |
| libbrotlienc1 | 1.2.0-r5 | MIT |
| libbrotlienc1 | 1.2.0-r5 | — |
| libbz2-1 | 1.0.8-r24 | MPL-2.0 AND MIT |
| libbz2-1 | 1.0.8-r24 | (MPL-2.0 AND MIT) |
| libbz2-1 | 1.0.8-r24 | — |
| libcrypto3 | 3.6.4-r8 | Apache-2.0 |
| libcrypto3 | 3.6.4-r8 | Apache-2.0 |
| libcrypto3 | 3.6.4-r8 | — |
| libffi | 3.8.0-r1 | MIT |
| libffi | v3.8.0 | MIT |
| libffi | 3.8.0-r1 | MIT |
| libffi | 3.8.0-r1 | — |
| libffi.yaml | 719d64d3fcaaae77a969bee96bbd6c1bbba9d9dd | Apache-2.0 |
| libgcc | 16.2.0-r1 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| libgcc | 16.2.0-r1 | (GPL-3.0-or-later WITH GCC-exception-3.1) |
| libgcc | 16.2.0-r1 | — |
| libjpeg-turbo | 3.2.0-r4 | BSD-3-Clause AND IJG AND Zlib |
| libjpeg-turbo | 3.2.0 | BSD-3-Clause AND IJG AND Zlib |
| libjpeg-turbo | 3.2.0-r4 | (BSD-3-Clause AND IJG AND Zlib) |
| libjpeg-turbo | 3.2.0-r4 | — |
| libjpeg-turbo.yaml | 203e65dd274965582cb0226c6aa7ca368c2e684e | Apache-2.0 |
| libpng | 1.6.58-r3 | libpng-2.0 |
| libpng | v1.6.58 | libpng-2.0 |
| libpng | 1.6.58-r3 | libpng-2.0 |
| libpng | 1.6.58-r3 | — |
| libpng.yaml | ed6708a41ae306d9a14b1e088a7590c8278a9bab | Apache-2.0 |
| libssl3 | 3.6.4-r8 | Apache-2.0 |
| libssl3 | 3.6.4-r8 | Apache-2.0 |
| libssl3 | 3.6.4-r8 | — |
| libstdc++ | 16.2.0-r1 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| libstdc++ | 16.2.0-r1 | (GPL-3.0-or-later WITH GCC-exception-3.1) |
| libstdc++ | 16.2.0-r1 | — |
| libtasn1 | 4.21.0-r6 | LGPL-2.1-or-later |
| libtasn1 | 4.21.0-r6 | LGPL-2.1-or-later |
| libtasn1 | 4.21.0-r6 | — |
| libtasn1.yaml | 3c7af87f8ce2048650267adce8430bc50a4cfeee | Apache-2.0 |
| libx11 | 1.8.13-r7 | XFree86-1.1 |
| libx11 | 1.8.13-r7 | XFree86-1.1 |
| libx11 | 1.8.13-r7 | — |
| libx11.yaml | eecac56ac7fa8eefdc88c3ce28b8d61d30a21109 | Apache-2.0 |
| libxau | 1.0.12-r8 | MIT |
| libxau | 1.0.12-r8 | MIT |
| libxau | 1.0.12-r8 | — |
| libxau.yaml | 1e34086426b21c24ee80c9a7bf6ba146f3cba960 | Apache-2.0 |
| libxcb | 1.17.0-r16 | MIT |
| libxcb | 1.17.0-r16 | MIT |
| libxcb | 1.17.0-r16 | — |
| libxcb.yaml | ec0f4c229323164654714800ce9a332169fd3ace | Apache-2.0 |
| libxdmcp | 1.1.5-r11 | MIT |
| libxdmcp | 1.1.5-r11 | MIT |
| libxdmcp | 1.1.5-r11 | — |
| libxdmcp.yaml | 8c878070babf1de9996bf309b5b54dacd4ee8c1e | Apache-2.0 |
| libxext | 1.3.7-r3 | MIT |
| libxext | 1.3.7-r3 | MIT |
| libxext | 1.3.7-r3 | — |
| libxext.yaml | 62088639a77e30bc4df60efce5e26c65128f4f95 | Apache-2.0 |
| libxi | 1.8.3-r1 | MIT AND X11 |
| libxi | 1.8.3-r1 | (MIT AND X11) |
| libxi | 1.8.3-r1 | — |
| libxi.yaml | 77c836474e6514dd0e511ced277b2549063b5618 | Apache-2.0 |
| libxrender | 0.9.12-r9 | XFree86-1.1 |
| libxrender | 0.9.12-r9 | XFree86-1.1 |
| libxrender | 0.9.12-r9 | — |
| libxrender.yaml | 81dde3ec6cd2859447fea166b956502e0e0ed467 | Apache-2.0 |
| libxtst | 1.2.5-r8 | XFree86-1.1 |
| libxtst | 1.2.5-r8 | XFree86-1.1 |
| libxtst | 1.2.5-r8 | — |
| libxtst.yaml | 1c8fdc57fe28006c25d9994c0701534b1c762ef5 | Apache-2.0 |
| Little-CMS | lcms2.19.1 | MIT AND GPL-3.0-only |
| openjdk-27-default-jvm | 27.0.0-r1 | GPL-2.0 WITH Classpath-exception-2.0 |
| openjdk-27-default-jvm | 27.0.0-r1 | (GPL-2.0 WITH Classpath-exception-2.0) |
| openjdk-27-default-jvm | 27.0.0-r1 | — |
| openjdk-27-jre | 27.0.0-r1 | GPL-2.0 WITH Classpath-exception-2.0 |
| openjdk-27-jre | 27.0.0-r1 | (GPL-2.0 WITH Classpath-exception-2.0) |
| openjdk-27-jre | 27.0.0-r1 | — |
| openjdk-27.yaml | e9c1ae3db2b5769e5654b6fa4f2919603f6c6a98 | Apache-2.0 |
| openssl | openssl-4.0.2 | Apache-2.0 |
| openssl | openssl-3.6.4 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.2-r2 | — |
| openssl-4.0-libssl | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libssl | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libssl | 4.0.2-r2 | — |
| openssl-4.0.yaml | b8f04118437fbbf25bbaad575ccb9f2ed62b8503 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.0.2-r3 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.0.2-r3 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.0.2-r3 | — |
| openssl-provider-legacy-allowed.yaml | b8f04118437fbbf25bbaad575ccb9f2ed62b8503 | Apache-2.0 |
| openssl.yaml | be56cfaac075e77bffb92439e0438bb31a21a2c7 | Apache-2.0 |
| p/giflib/code | 6.1.3 | MIT |
| p11-kit | 0.26.5-r1 | BSD-3-Clause |
| p11-kit | 0.26.5 | BSD-3-Clause |
| p11-kit | 0.26.5-r1 | BSD-3-Clause |
| p11-kit | 0.26.5-r1 | — |
| p11-kit-trust | 0.26.5-r1 | BSD-3-Clause |
| p11-kit-trust | 0.26.5-r1 | BSD-3-Clause |
| p11-kit-trust | 0.26.5-r1 | — |
| p11-kit.yaml | bdffd583c7ad7461ce9e15af532507f0ddb30960 | Apache-2.0 |
| sha256:40d7e9f8e26dce556c72578a2708b0207b07cc01ee359adea1f5948132b22df8 | 20230201 | — |
| sha256:9d46452fd9c70e944021809bc933cc9c6f4fa12195fa6430838361197a065a19 | sha256:9d46452fd9c70e944021809bc933cc9c6f4fa12195fa6430838361197a065a19 | — |
| ttf-dejavu | 2.37-r9 | Bitstream-Vera |
| ttf-dejavu | 2.37-r9 | Bitstream-Vera |
| ttf-dejavu | 2.37-r9 | — |
| ttf-dejavu.yaml | 8bfd02b0cdce1c72d50ced1814f1d78c5616c836 | Apache-2.0 |
| wolfi | 20230201 | — |
| wolfi-baselayout | 20230201-r30 | MIT |
| wolfi-baselayout | 20230201-r30 | MIT |
| wolfi-baselayout | 20230201-r30 | — |
| wolfi-baselayout.yaml | a4472f6292a5e48d6d611bf24c6e119b1a483e66 | Apache-2.0 |
| xorg/lib/libx11 | libX11-1.8.13 | XFree86-1.1 |
| xorg/lib/libxau | libXau-1.0.12 | MIT |
| xorg/lib/libxcb | libxcb-1.17.0 | MIT |
| xorg/lib/libxdmcp | libXdmcp-1.1.5 | MIT |
| xorg/lib/libxext | libXext-1.3.7 | MIT |
| xorg/lib/libxi | libXi-1.8.3 | MIT AND X11 |
| xorg/lib/libxrender | libXrender-0.9.12 | XFree86-1.1 |
| xorg/lib/libxtst | libXtst-1.2.5 | XFree86-1.1 |
| zlib | 1.3.2.1_rc20260601-r0 | MPL-2.0 AND MIT |
| zlib | e3dc0a85b7032e98380dec011bc8f2c2ee0d8fca | MPL-2.0 AND MIT |
| zlib | 1.3.2.1_rc20260601-r0 | (MPL-2.0 AND MIT) |
| zlib | 1.3.2.1_rc20260601-r0 | — |
| zlib.yaml | f2ad881d0053f3f3b6b639e041b171fc0e5b7244 | Apache-2.0 |
5 medium 0 fixable
| CVE | Severity | Package | Installed | Fixed in |
|---|---|---|---|---|
| CVE-2026-77117 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-80489 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-8674 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-89092 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-90781 | Medium | alsa-lib | 1.2.16.1-r2 | — |
Everything is verifiable without an account. Copy and run:
Build provenance (SLSA v1.0, Build L2)
gh attestation verify oci://ghcr.io/rtvkiz/minimal-java:latest --owner rtvkiz Cosign signature
cosign verify \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-java:latest SBOM attestation (SPDX)
cosign verify-attestation --type spdxjson \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-java:latest \
| jq -r '.payload | @base64d | fromjson | .predicate' Signatures are logged in the public Rekor transparency log.
More Languages & Runtimes images
Weighing this against another provider? The comparison pages publish head-to-head scan data with the raw dataset, including the images where Minimal comes off worse — or read the migration guide for what actually breaks when you switch.