当前位置: 首页 > 知识库问答 >
问题:

为什么OpenJDK发布的新Java8图像不再基于Alpine而是基于Debian10(Buster)?

赵星华
2023-03-14

共有1个答案

阎晔
2023-03-14

2019年5月,OpenJDK Dockerhub映像已经转变为使用官方认证的OpenJDK二进制文件,而不是发行版OpenJDK包:
https://github.com/docker-library/OpenJDK/pull/322

这些二进制文件是AdoptOpenJDK提供的香草上游OpenJDK构建,由RedHat测试和支持。二进制文件是基于glibc的,因此虽然它们与Debian兼容,但它们不兼容Alpine Linux。

背景:

Alpine OpenJDK支持:

OpenJDK项目还没有对Alpine Linux的官方支持。Alpine Linux构建在musl libc基础上,它是一个最小和严格的POSIX实现,通常与标准的glibc不兼容。针对musl libc的OpenJDK移植正在OpenJDK的项目Portola下进行开发。

Alpine LinuxOpenJDK8包由IcedTea提供。IceaTea项目为OpenJDK 6、7和8提供了构建,并且是在OpenJDK还没有完全开源的时候启动的。这些构建是社区构建的,而不是官方的OpenJDK构建。此外,Alpine Linux OpenJDK 8 IcedTea构建是由Alpine维护人员从源代码处构建的。因此,这些构建不能被认为是OpenJDK的生产就绪、经过认证的构建。

 类似资料:
  • Java11被宣布为最新的LTS版本。因此,我们正在尝试基于这个Java版本启动新的服务。 但是,Java11的基本Docker映像要比Java8的等效映像大得多: > :84 MB :283 MB (我只考虑官方的OpenJDK和每个Java版本的最轻量级映像。) 更深一层的挖掘,揭开了以下“事情”: 安装在映像中的包比(在运行的Docker容器内)大3倍: > : : 深入研究之后,我发现了这

  • 我有基于的图像,当这些(我的)图像生成时,被下拉,以便生成我自己的图像。因此,在我的本地计算机中,我有映像。假设基映像得到更新,Microsoft发现该映像中有一个bug,并决定对该标记进行修复,因此它仍然被称为,但实际上它与我构建自己的映像时不同。 所以我有两个问题: 1。每次我的图像被拉下,它会得到我建立图像时的基础图像,对吗?(这似乎很明显,但我需要检查) 2。如果我注意到(网钩,扳机?)有

  • 本文向大家介绍NodeJs是基于单线程的吗?为什么?相关面试题,主要包含被问及NodeJs是基于单线程的吗?为什么?时的应答技巧和注意事项,需要的朋友参考一下 js 本身就是 single thread,NodeJS 发明者将 Chorme v8 vm 引擎 runtime 加上 async io 使得效能得以突出,所以 NodeJS 的发明者完成 libuv 就离开 NodeJS 了。

  • 在我前面的问题中 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 258 4 418 1 676 5 109 46 177 11 286 57 463 68 750 25 121 393 196 418 317 811 514 229 832 040 尽管Java8中函数的代码风格表示仍然让我感到困惑,但我可以肯定它与fibonacci序列的

  • 我从openjdk:8-jdk-alpine创建了一个docker映像,但当我尝试执行简单命令时,会出现以下错误:

  • 问题内容: 我从openjdk:8-jdk-alpine创建了一个docker镜像,但是当我尝试执行简单的命令时出现以下错误: 问题答案: 默认情况下,高山docker映像未安装bash。您将需要添加以下命令来获取: 如果您使用,那么您可以 保持docker映像大小较小。(感谢@sprkysnrky的评论)