Docker使用哪种OpenJDK发行版?

时间:2018-12-04 19:51:38

标签: java docker

据我了解,“ OpenJDK”只是商品库(http://hg.openjdk.java.net)。

它需要有人(Oracle,RedHat,AdoptOpenJDK,Amazon的Corretto等)来构建并将其打包为“ OpenJDK发行版”。

所以,我的问题是:当我这样做时:

docker pull openjdk

我要分配谁?

这似乎很重要,因为我上面列出的每个发行版在处理安全补丁等方面都有不同的策略。

还是我在这里错过了什么?

5 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

除非您在运行时更改默认配置

docker pull openjdk

您正在从Docker Hub

提取图像

拉出以下图片:https://hub.docker.com/_/openjdk/

此图像的来源可在https://github.com/docker-library/openjdk/

中找到

答案 2 :(得分:0)

“我要分配谁?”

如果要从Dockerhub中提取图像,则有两种方法来解释您的问题。

  1. 映像基于哪个操作系统版本?
  2. 谁创建了图片?

第二个问题的答案要求您对Docker文件的提交历史进行一些挖掘。如果您关心这些事情,那么最好下载Docker文件并在本地构建映像。

对于第一个问题,答案取决于您所使用的图像标签,例如,标记为“ 12:alpine”标签的图像基于alpine:3.8(更多https://hub.docker.com/r/library/openjdk/,请参见此处)

答案 3 :(得分:0)

您可以使用11-oracle标记提取Oracle OpenJDK 11版本。

docker pull openjdk:11-oracle 

拉出最新的一个。

您还可以使用12-ea标记提取Oracle OpenJDK 12 Early Access版本,即

docker pull openjdk:12-ea

答案 4 :(得分:0)

当您不指定标签时。它选择存储库中设置的默认标签,如:

Using default tag: latest

因此,这完全取决于要获得的图像与最新图像的相同(使用docker tag命令或等效标记-就像符号链接一样)。