据 OpenJDK 开发团队 在邮件列表中的记录 ,有开发者反馈了一个这样的问题:
可以看到,在构建这两个分别为 OpenJDK 8 和 OpenJDK 11 的版本时,均出现了问题。仔细观察内部版本号,这些 JDK 版本显示的发布时间均比实际发布时间要早。
这会导致什么问题呢?任何运行 OpenJDK 8 和 11 官方 Docker 镜像( https://hub.docker.com/_/openjdk )的人都可能以为他们正在运行 8u212 或 11.0.3,但事实上他们运行的可能只是一个临时的正在开发中的版本。可能会有未修复的 bug 和未解决的 CVE 安全漏洞。
对于导致出现这种版本号混乱情况的原因,大部分认为这和 OpenJDK 团队没什么关系,更多是因为 Docker 团队或维护此 repo 的一方没有正确发布版本而导致的。
也有人认为这似乎与 Debian 有关,因为这些示例都附带了 Debian 版本字符串,并且它们可能是从版本控制存储库中的标记构建的。
但不管如何,最终还是用户吃亏。因为 OpenJDK 容器基于发行版容器,并为不同的发行版(debian,alpine,windows,slim debian,old debian version 等)发布多个版本。然后,用户将其容器置于 OpenJDK 容器之上,并将其包依赖项添加到其 docker 文件中。接着问题来了,语言容器似乎使用了一个“尚未发布”的版本。
讨论到最后,有不少声音认为是 Debian 发行版导致的问题,从而使得将临时版本提供给毫无戒心的最终用户。即便提供的 Docker 版本有问题,双方都应该知晓这一消息,以权衡利弊。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 不要轻易使用 Alpine 镜像来构建 Docker 镜像,有坑!
- 根据Dockerfile构建镜像
- 构建go应用镜像
- 使用Dockerfile构建镜像
- Docker 构建镜像
- 利用Makisu构建容器镜像
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程的修炼(中英双语)
[荷]Edsger W. Dijkstra / 裘宗燕 / 电子工业出版社 / 2013-7 / 79.00元
本书是图灵奖获得者Edsger W. Dijkstra在编程领域里的经典著作中的经典。作者基于其敏锐的洞察力和长期的实际编程经验,对基本顺序程序的描述和开发中的许多关键问题做了独到的总结和开发。书中讨论了顺序程序的本质特征、程序描述和对程序行为(正确性)的推理,并通过一系列从简单到复杂的程序的思考和开发范例,阐释了基于严格的逻辑推理开发正确可靠程序的过程。 本书写于20世纪70年代中后期,但......一起来看看 《编程的修炼(中英双语)》 这本书的介绍吧!