OpenJDK JRE docker 图像和 fixes/patches

OpenJDK JRE docker image and fixes/patches

我目前正在使用 openjdk:11.0.11-jre-slim docker 图像。

通过使用 11 的次要版本,我会失去补丁/安全修复吗?

如果修复了错误,是在 11.0.11 中修复还是仅在 11.0 和 11.0.12 中修复?

另外,关于时区 IANA 更新的相同问题。它们是否仅在主要版本和下一个次要版本中可用?

一般来说,他们不会更改现有的次要版本,因此如果您使用 11.0.11,那将始终是相同的版本。除非有真正的阻塞问题使其无法使用,否则他们可能会撤销现有的并稍后构建一个新的。

补丁或安全修复会导致更新的次要编号,因此 11.0.12、11.0.13 等

实际的 docker 版本还包括 os,例如 11.0.13-jre-slim-bullseye 是 OpenJDK 瘦身 Debian 11 上的 JRE 11.0.13 (靶心)OS.

要获取最新更新,最好使用其中一个别名。他们将在新版本发布时更改别名,无论是 OS 还是 JDK.

例如11-jre-slim 最初是 Debian 10 (Buster) 上 11.0.8 的别名,但现在是 Debian 11 (Bullseye) 上 11.0.13 的别名。

但是,这并不意味着现有图像会自动更新。如果你使用别名,你应该监控它,如果别名指向一个新版本,你仍然需要重建在它之上构建的图像。

因此,如果您使用像 11-jre-slim 这样的别名,您将获得 JDK 和 OS 的最新版本(openjdk [=29= 的最新版本) ]维护者无论如何都发布了)。另一方面,这也可能意味着如果您的应用程序与 JDK 补丁或 OS 更新不兼容,它可能会中断。因此,在投入生产之前,您最好有一个持续集成管道来彻底测试构建。

另一种方法是使用固定的基础版本,例如11.0.13-jre-slim-bullseye,并在需要更新时手动监控,因此您可以计划时间手动验证和更新每个补丁,或者选择ose 在 possible 时继续使用较旧的补丁。然而,这需要长期投资。