Ohhnews

分类导航

$ cd ..
foojay原文

Azul Zulu OpenJDK 官方镜像现已正式登陆 Docker Hub

#azul zulu#openjdk#docker#容器技术#软件供应链

目录

Azul 最近宣布,Azul Zulu Builds of OpenJDK 现已作为 Docker 官方镜像在 Docker Hub 上线。这意味着您可以直接从您原本就信赖的官方镜像库中,拉取经过 TCK 验证且完全合规的 OpenJDK 构建版本,就像获取基础操作系统和数据库镜像一样。

您可以在此处浏览并拉取镜像:

https://hub.docker.com/_/azul-zulu

为什么要关心官方镜像?

使用 Docker 官方镜像,您可以获得:

  • 经过验证的加密签名:使用 Azul 的 GPG 密钥进行签名,确保您可以验证 CI 环境拉取的镜像。
  • 自动重建:当上游基础镜像修补漏洞时,镜像会自动重建,因此您无需手动重新构建所有内容即可解决 CVE 问题。
  • 完全开源的许可:采用 GPL v2(带有 Classpath Exception)及相关的 OpenJDK 许可证。
  • 符合标准:镜像按照 Docker 的安全和维护标准构建与维护,而非临时的社区镜像。

如果您处于以下情况,这将特别有用:

  • 在多个服务中标准化 Java 基础镜像。
  • 加固软件供应链(SBOM、签名、来源验证)。
  • 减少不同团队使用各种临时 "java:latest" 镜像带来的混乱。

可以使用哪些版本和变体?

Azul Zulu 官方镜像涵盖了多个 Java 版本,包括许多团队已经依赖的关键 LTS(长期支持)版本:

  • Java 8
  • Java 11
  • Java 17
  • Java 21
  • Java 25

每个版本都提供:

  • 每个主版本下的 -jdk-jre-headless 变体。
  • -debian-debian13 后缀标签,以便锁定基础镜像。

标签示例包括:

  • azul-zulu:17-jdk-debian
  • azul-zulu:21-jre-headless-debian13

这仅仅是个开始,未来将计划推出更多标签和基础镜像。随着新的 Java 版本和更多基础镜像的引入,它们预计都会出现在同一个官方镜像命名空间下,从而确保您在各个服务中保持一致的镜像模式。

从哪里开始?

如果您已经在 Java 开发中使用 Docker,那么将这些镜像引入工作流非常简单。

基本步骤:

  1. 前往官方镜像页面:https://hub.docker.com/_/azul-zulu
  2. 选择与您的服务匹配的 Java 版本和变体(例如 17-jdk-debian13)。
  3. 在本地拉取镜像:
$ bash
docker pull azul-zulu:17-jdk-debian13
  1. 在 Dockerfile 中使用它:
$ dockerfile
FROM azul-zulu:17-jdk-debian13

WORKDIR /app
COPY target/app.jar app.jar
CMD ["java", "-jar", "app.jar"]
  1. 将其整合到您的 CI/CD 模板中,以便所有新服务都能共享同一个受信任的基础镜像。

有关更多详细信息、Dockerfile 和标签信息,请查看 GitHub 仓库

后续计划及如何参与?

这仅仅是一个开始,接下来的计划包括:

  • 在同一个官方镜像命名空间下提供更多的 Java 发行版(包括未来的 STS 和 LTS 版本)。
  • 随着时间推移提供更多的基础镜像,以便您可以选择适合技术栈的镜像大小和操作系统系列。
  • 持续进行自动重建和安全更新,以确保您的容器保持最新状态,同时将干扰降至最低。

Azul Zulu OpenJDK 官方镜像旨在让在容器中运行 Java 变得尽可能简单且值得信赖。通过标准化使用这些镜像,您可以获得一个一致、经过签名且主动维护的基础环境,并能自然地融入现代 CI/CD 工作流中。

从 Docker Hub 下载

文章 Official Azul Zulu OpenJDK Images Now Available on Docker Hub! 最早发布于 foojay