为什么 Jib 放弃了对 distroless 基础镜像的支持?

问题描述

看起来像是从 jib 3.0 开始;您的 Java 应用程序不再拥有认的 distroless 映像。相反,如果您不指定,您将获得一个 AdoptOpenjdk 基础镜像。您仍然可以按照此 link 配置和使用 distroless 基础映像。我只是想知道 采用的 OpenJDK 镜像是否比 distroless 更安全、更纤薄?有什么好处?

解决方法

Jib 团队正在维护用于 distroless 的 Java 特定图像。从 Debian10 开始,distroless 从中获取软件包的 Debian 放弃了对 Java8 的支持。 Java8 构建使用了 Debian9 依赖项(过时),这导致容器映像中存在许多 CVE。这对于需要 Java8 的用户(大量 jib 用户)来说是一个问题,目前 Jib 团队没有足够的带宽为 distroless 组装一个高质量的 Java8 产品。

将默认值切换为 Adoptopenjdk,为用户提供由 AdoptOpenJDK 人员一致维护的图像。

这不是对 Distroless 的打击,它仍然是一个伟大的项目,但是缺乏资源和复杂的 Java 情况将我们带到了这里。 Distroless 是一个开源项目,任何愿意为 Java8 创建或更新工作流的人都可以直接做出贡献。据我所知,基于 Debian10 软件包的 distroless Java11 映像仍然可用,如果您愿意,可以将其用作基础映像。