Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
Ask Question
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
.
Thanks for contributing an answer to Stack Overflow!
-
Please be sure to
answer the question
. Provide details and share your research!
But
avoid
…
-
Asking for help, clarification, or responding to other answers.
-
Making statements based on opinion; back them up with references or personal experience.
To learn more, see our
tips on writing great answers
.