所有内容都在docker页面上写得很清楚:
https://hub.docker.com/_/openjdk/
openjdk:<version>是事实上的镜像。[...]这些是Debian发布版本的套件代码名称,并指示基于哪个版本的映像。[...]
openjdk:<version>(从12开始),[...]从openjdk:12开始,默认映像以及-oracle和-oraclelinux7变体都基于官方Oracle Linux 7映像,根据Oracle Linux最终用户许可协议(EULA)提供,属于GPLv2。[...]
简而言之:这些映像由Docker社区维护,版本< 12使用来自Debian或Alpine Linux的OpenJDK构建,后续版本使用Oracle构建。
顺便说一下,直到包括版本8,Oracle JDK更加自由地可用。无论如何,Linux发行版都会构建自己的二进制文件。AdoptOpenJDK、Amazon Corretto等二进制发行版只是因为Oracle不再免费提供二进制文件。但是,如果您愿意,可以下载OpenJDK并自行构建。
编辑:您还可以ssh进入映像并运行
java -version
编辑2:
Java 7和支持
我想回答您对我的答案的评论。您特别要求Java版本
7。这个版本非常旧(2011年首次发布!),如果没有支付商业支持,您将找不到任何长期支持。期间。
此版本还先于Oracle二进制文件的许可证更改,因此整个AdoptOpenJDK论点并不重要。
在OpenJDK Docker Hub页面上,您可以看到不同的映像,其中包含使用Alpine Linux和Debian Jessie构建的Java 7构建。这些是-distribution通过该分发的开源OpenJDK项目的构建。因此,应适用带有classpath异常的GPL许可证(即:您可以在商业上使用它)。
请注意,即使是Debian Jessie的LTS支持也将在下个月结束:
https://wiki.debian.org/LTS
这可能不一定是问题,具体取决于您想在哪里运行该映像(即面向公共互联网还是私人内部网络)。
如果您必须坚持使用这么旧的Java版本,则选择很少(也许采用现代Linux映像并自己构建OpenJDK [我想这将是痛苦的])。
编辑3:
最近版本7的支持以及从AdoptOpenJdk开始的v8+
好的,根据您在评论中的澄清,您实际上并不是在寻找第七版构建。
然而,我找到了 Azul 提供的最新和支持的 Java 7 构建:https://hub.docker.com/r/azul/zulu-openjdk
但是您说您正在运行第8版,想升级到第11版。那么,我强烈推荐使用目前最流行的 AdoptOpenJDK。他们提供Docker 镜像(注意:他们提供不同的 JVM:Hotspot 是默认值并且强烈推荐,OpenJ9 基于 IBM 的开发)。