I am browsing newest images published by OpenJDK: https://hub.docker.com/layers/openjdk/library/openjdk/8u252-jre-slim-buster/images/sha256-01dfdeac537b9d9adcb2399028fba063733a77186c5264e6b059987002c0e48c?context=explore all of them switchedt
all of the new Java 8 images are using Debian based, is there any official statement that OpenJDK moved from Alpine towards Debian and why?
Why new Java 8 images published by OpenJDK are no longer Alpine based but Debian 10(Buster) based?
On May 2019, OpenJDK Dockerhub images have shifted to using official, certified OpenJDK binaries, rather than distro OpenJDK packages:
https://github.com/docker-library/openjdk/pull/322
These binaries are vanilla upstream OpenJDK builds provided by AdoptOpenJDK, tested and backed by RedHat. The binaries are glibc based, so while they are compatible with Debian, they are not Alpine Linux compatible.
Background:
Until May 2019, OpenJDK had both Debian and Alpine images, using the packaged OpenJDK versions and installed through the distribution package managers, apt
for Debian, apk
for Alpine. The Debian and Alpine packages are built and maintained by the community, and are such are not verified to the extent of commercial enterprise OpenJDK builds - for example, they are usually not JCK certified.
Then, there has been an incident in which a Debian packaged OpenJDK 8 pre-release build has found its way into the official OpenJDK 8 docker image. The issue was initially reported in this thread:
https://mail.openjdk.java.net/pipermail/jdk8u-dev/2019-May/009330.html
After that, it was decided that OpenJDK images will only use official, JCK tested builds, to have one "source of truth". This decision affected both Debian and Alpine images.
Alpine OpenJDK support:
The OpenJDK project does not have official support for Alpine Linux, yet. Alpine Linux builds upon musl libc, which is a minimal and strict POSIX implementation, and is generally not compatible with the standard glibc. OpenJDK porting for musl libc is under development under OpenJDK's project Portola.
Alpine Linux openjdk8
packages are provided by IcedTea. The IceaTea project provides builds for OpenJDK 6, 7 and 8, and was started back when OpenJDK was not fully open sourced yet. These builds are community made, and are not official OpenJDK builds. Moreover, the Alpine Linux OpenJDK 8 IcedTea builds are built from source by Alpine maintainers. Therefore, these builds cannot be considered as production ready, certified builds of OpenJDK.
Moving away from Alpine images had a large impact on the Alpine Java ecosystem; many projects have moved their images away from Alpine since, which is unfortunate. You can find more details here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With