foojay原文
Azul Zulu OpenJDK 官方镜像现已正式登陆 Docker Hub
目录
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-debianazul-zulu:21-jre-headless-debian13
这仅仅是个开始,未来将计划推出更多标签和基础镜像。随着新的 Java 版本和更多基础镜像的引入,它们预计都会出现在同一个官方镜像命名空间下,从而确保您在各个服务中保持一致的镜像模式。
从哪里开始?
如果您已经在 Java 开发中使用 Docker,那么将这些镜像引入工作流非常简单。
基本步骤:
- 前往官方镜像页面:https://hub.docker.com/_/azul-zulu。
- 选择与您的服务匹配的 Java 版本和变体(例如
17-jdk-debian13)。 - 在本地拉取镜像:
$ bash
- 在 Dockerfile 中使用它:
$ dockerfile
- 将其整合到您的 CI/CD 模板中,以便所有新服务都能共享同一个受信任的基础镜像。
有关更多详细信息、Dockerfile 和标签信息,请查看 GitHub 仓库。
后续计划及如何参与?
这仅仅是一个开始,接下来的计划包括:
- 在同一个官方镜像命名空间下提供更多的 Java 发行版(包括未来的 STS 和 LTS 版本)。
- 随着时间推移提供更多的基础镜像,以便您可以选择适合技术栈的镜像大小和操作系统系列。
- 持续进行自动重建和安全更新,以确保您的容器保持最新状态,同时将干扰降至最低。
Azul Zulu OpenJDK 官方镜像旨在让在容器中运行 Java 变得尽可能简单且值得信赖。通过标准化使用这些镜像,您可以获得一个一致、经过签名且主动维护的基础环境,并能自然地融入现代 CI/CD 工作流中。
文章 Official Azul Zulu OpenJDK Images Now Available on Docker Hub! 最早发布于 foojay。