16-slim、16-jdk-slim、16-ea-slim docker镜像有什么区别 openjdk:

问题描述

以下 Docker 镜像有什么区别?

  • openjdk:16-slim
  • openjdk:16-jdk-slim
  • openjdk:16-ea-slim

哪个体积更小,可以在 Spring Boot 项目中使用?

解决方法

不同之处在于所使用的 Java 版本以及压缩大小(以下链接):

您正确地注意到,除了散列之外,openjdk:16-slimopenjdk:16-jdk-slim 之间没有区别。为了遵守新的命名约定(我的猜测),我假设有两个相同的图像。

如果您参考 openjdk DockerHub description | Image Variants,您可能会发现以下内容:

openjdk 镜像有多种风格,每一种都是为特定用例设计的。

openjdk:

这是事实上的图像。如果您不确定自己的需求是什么,您可能想使用这个。它既可用作一次性容器(安装源代码并启动容器以启动应用),也可用作构建其他映像的基础。

重要提示:如果您决定在 Java 16 中使用 Spring Boot,则需要使用当前最新版本(截至 2021 年 5 月)的 Spring Boot 2.5.0 或更新版本。在 Spring Boot 2.5 is now GA 阅读更多内容。