根据 docker 库文档(下面的引用和链接),这里有一个摘要:
事实上的图像。如果不确定,请使用它。
openjdk:<version>-buster
, openjdk:<version>-stretch
and openjdk:<version>-jessie
buster
, jessie
or stretch
是版本的套件代码名称Debian https://wiki.debian.org/DebianReleases并指出哪个release该图像基于。
同样,该图像基于阿尔卑斯Linux http://alpinelinux.org,因此是一个非常小的基础图像。如果您需要图像尺寸尽可能小,建议使用。需要注意的是,它使用了一些不寻常的库,但对于大多数软件来说应该不是问题。有疑问,请查看下面的官方文档。
openjdk:<version>
(从12点开始),openjdk:<version>-oracle
and openjdk:<version>-oraclelinux7
从...开始openjdk:12
默认图像以及-oracle
and -oraclelinux7
变体基于官方Oracle Linux 7 映像 https://hub.docker.com/_/oraclelinux。
默认映像中的 OpenJDK 二进制文件以及-oracle
and -oraclelinux7
变体由 Oracle 构建并源自OpenJDK 社区 https://openjdk.java.net/.
该映像仅包含运行 Java 所需的最少包(例如,缺少许多与 UI 相关的 Java 库)。除非你工作的环境only the openjdk
将部署映像并且您有空间限制,建议使用默认映像。
openjdk:<version>-windowsservercore
这张图片是基于Windows 服务器核心(microsoft/windowsservercore) https://hub.docker.com/r/microsoft/windowsservercore/.
完整文档(版本如下所示 https://github.com/docker-library/docs/blob/d4f015a4a99883c6b8691ec6aaf24a74cd02916a/openjdk/README.md, 最新版本在这里 https://github.com/docker-library/docs/blob/master/openjdk/README.md#image-variants):
图像变体
The openjdk
图像有多种风格,每种风格都是为
具体用例。
openjdk:<version>
这是事实上的图像。如果您不确定自己的需求
是,您可能想使用这个。它被设计为同时使用
作为一次性容器(安装源代码并启动
容器来启动您的应用程序),以及构建其他应用程序的基础
图像关闭。
其中一些标签可能包含诸如 jessie 或stretch 之类的名称。
这些是版本的套件代号Debian https://wiki.debian.org/DebianReleases并指出哪个
发布图像是基于。
openjdk:<version>-alpine
这张图是根据流行的阿尔卑斯Linux
项目 http://alpinelinux.org,可用于the alpine官方的
图像 https://hub.docker.com/_/alpine。 Alpine Linux 更小
比大多数发行版基础镜像(~5MB)大,因此会导致很多
一般来说,图像更苗条。
当最终图像尺寸为
期望尽可能小。需要注意的主要警告是它确实
使用穆斯勒libc http://www.musl-libc.org代替glibc 和
朋友们 http://www.etalabs.net/compare_libcs.html,如此确定
软件可能会遇到问题,具体取决于其 libc 的深度
要求。不过,大多数软件都没有这个问题,
所以这个变体通常是一个非常安全的选择。看这个黑客新闻
评论区 https://news.ycombinator.com/item?id=10782897为了
对可能出现的问题进行更多讨论以及一些赞成/反对意见
使用基于 Alpine 的图像的比较。
为了最小化图像尺寸,额外的相关工具并不常见
(例如git
or bash
)包含在基于 Alpine 的图像中。使用
以此镜像为基础,在你自己的 Dockerfile 中添加你需要的东西
(参见alpine图像
描述 https://hub.docker.com/_/alpine/有关如何操作的示例
如果您不熟悉,请安装软件包)。
openjdk:<version>-windowsservercore
这张图片是基于Windows服务器核心
(microsoft/windowsservercore) https://hub.docker.com/r/microsoft/windowsservercore/。
因此,它仅适用于该图像适用的地方,例如
Windows 10 专业版/企业版(周年纪念版)或 Windows
服务器2016。
有关如何在 Windows 上运行 Docker 的信息,请参阅
微软提供的相关“快速入门”指南:
- Windows 服务器快速入门 https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_server
- Windows 10 快速入门 https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_10
openjdk:<version>-slim
该映像安装了-headless
OpenJDK 的包等等
缺少许多与 UI 相关的 Java 库和一些常用包
包含在默认标签中。它只包含最小的包
需要运行Java。除非你工作的环境only the openjdk
将部署映像并且您有空间限制,我们强烈建议使用此默认映像
存储库。