为什么OpenJDK发布的新Java 8图像不再基于Alpine,而是基于Debian 10(Buster)?

问题描述 投票:-1回答:1

我正在浏览OpenJDK发布的最新图像:https://hub.docker.com/layers/openjdk/library/openjdk/8u252-jre-slim-buster/images/sha256-01dfdeac537b9d9adcb2399028fba063733a77186c5264e6b059987002c0e48c?context=explore全部关闭

所有新的Java 8映像都基于Debian,是否有官方声明OpenJDK从Alpine迁移到Debian,为什么?

为什么OpenJDK发布的新Java 8映像不再基于Alpine而是基于Debian 10(Buster)?

java alpine debian-buster
1个回答
0
投票
[2019年5月,OpenJDK Dockerhub映像已转变为使用官方的,经过认证的OpenJDK二进制文件,而不是发行的OpenJDK软件包:https://github.com/docker-library/openjdk/pull/322

这些二进制文件是上游OpenJDK builds provided by AdoptOpenJDK的原始版本,经过RedHat测试并提供支持。这些二进制文件基于glibc,因此尽管它们与Debian兼容,但它们不兼容Alpine Linux。

背景:

[直到2019年5月,OpenJDK使用打包的OpenJDK版本同时具有Debian和Alpine映像,并通过分发软件包管理器进行安装,Debian为apt,Alpine为apk。 Debian和Alpine软件包是由社区构建和维护的,并未在商业企业OpenJDK构建的范围内得到验证-例如,它们通常未经JCK测试。

然后,发生了一个事件,引起了很多辩论,其中Debian打包的OpenJDK 8预发行版本已在官方OpenJDK 8 docker映像中找到了路。该问题最初是在此线程中报告的:https://mail.openjdk.java.net/pipermail/jdk8u-dev/2019-May/009330.html

之后,决定OpenJDK映像将仅使用经过JCK测试的官方构建,以获得一个“真相源”。此决定影响了Debian和Alpine图像。

高山OpenJDK支持:

OpenJDK项目尚未获得对Alpine Linux的官方支持。 Alpine Linux建立在musl libc之上,这是最小且严格的POSIX实现,并且通常与标准glibc不兼容。 musl libc的OpenJDK移植正在OpenJDK的项目Portola下开发。

Alpine Linux openjdk8软件包由openjdk8提供。 IceaTea项目提供了针对OpenJDK 6、7和8的构建,并且在OpenJDK尚未完全开源时就开始了。这些构建是社区制作的,不是官方的OpenJDK构建。此外,Alpine Linux OpenJDK 8 IcedTea构建是由Alpine维护人员从源代码​​构建的。因此,这些构建不能视为OpenJDK的可用于生产的经过认证的构建。

远离高山图像对高山Java生态系统有很大影响;此后,许多项目都将其图像从Alpine移开了,这是不幸的。您可以找到更多详细信息IcedTea

© www.soinside.com 2019 - 2024. All rights reserved.