- 适用于 JDK 24 的 GraalVM(最新)
- 适用于 JDK 25 的 GraalVM(早期访问)
- 适用于 JDK 21 的 GraalVM
- 适用于 JDK 17 的 GraalVM
- 存档
- 开发构建
GraalVM 社区版容器镜像 #
为支持基于容器的开发,GraalVM 社区版容器镜像已发布到 GitHub 容器注册表。
存储库 #
根据架构和 Java 版本,提供了不同的 GraalVM 社区版容器镜像,并且它们的名称中包含 -community
。这些镜像包括:native-image-community、jdk-community、truffleruby-community、nodejs-community 和 graalpy-community。这些容器镜像是多架构的,支持 x64 和 AArch64 处理器架构,并可选择 Oracle Linux 版本 7、8 或 9。
GraalVM 安装在 /usr/lib64/graalvm/graalvm-community-java<$FeatureVersion>/ 中,其中 <$FeatureVersion>
可以是 17
、21
、24
等。例如,用于 JDK 24 的 GraalVM 安装在 /usr/lib64/graalvm/graalvm-community-java24/ 中。所有二进制文件,包括 java
、javac
、native-image
和其他二进制文件,都可以通过 alternatives
命令作为全局命令使用。
注意:对于基于非 RPM 的 GraalVM 镜像(graalvm-community、python-community、truffleruby-community),安装位置在 /opt/ 下(分别为 /opt/graalvm-community-java<$FeatureVersion>/、/opt/truffleruby-<$GRAALVM_VERSION>/ 和 /opt/graalpy-<$GRAALVM_VERSION>/)。
注意:GraalVM 社区版容器镜像基于 Oracle Linux 精简镜像,默认的包管理器是
microdnf
。
在此处查看 GraalVM 社区版容器镜像的完整列表:此处。
标签 #
每个存储库都提供多个标签,可让您选择所需的稳定级别,包括 Java 版本、构建号和 Oracle Linux 版本。镜像标签使用以下命名约定:
$version[-muslib(for native image only)][-$platform][-$buildnumber]
以下标签从最具体的标签(顶部)到最不具体的标签(底部)列出。最具体的标签是唯一的,并且始终指向同一个镜像,而不太具体的标签会随着时间的推移指向较新的镜像变体。例如:
24.0.1-ol9-20250318
24.0.1-ol9
24.0.1
24-ol9
24
拉取镜像 #
- 要拉取特定 JDK 特性版本(例如 24)的 GraalVM JDK 容器镜像,请运行:
docker pull ghcr.io/graalvm/jdk-community:24
或者,要将此容器镜像用作 Dockerfile 中的基础镜像,请使用:
FROM ghcr.io/graalvm/jdk-community:24
您已拉取一个大小紧凑的 GraalVM 社区版容器镜像,其中预安装了 GraalVM JDK 和 Graal 编译器。
- 要拉取包含
native-image
工具的特定 JDK 特性版本(例如 24)的容器镜像,请运行:docker pull ghcr.io/graalvm/native-image-community:24
或者,要拉取包含
native-image
工具以及musl libc
工具链的容器镜像以创建完全静态链接的可执行文件,请使用:docker pull ghcr.io/graalvm/native-image-community:24-muslib
或者,要将此容器镜像用作 Dockerfile 中的基础镜像,请使用:
FROM ghcr.io/graalvm/native-image-community:24-muslib
- 要验证,请启动容器并进入 Bash 会话:
docker run -it --rm --entrypoint /bin/bash ghcr.io/graalvm/native-image-community:24
要检查 GraalVM 的版本及其安装位置,请在 Bash 提示符下运行
env
命令:env
输出中包含环境变量
JAVA_HOME
,其值对应于已安装的 GraalVM 版本和位置。要检查 Java 版本,请运行:
java -version
要检查
native-image
版本,请运行native-image --version
- 不指定处理器架构而调用
docker pull
会拉取与您的 Docker 客户端匹配的处理器架构的容器镜像。要拉取不同平台架构的容器镜像,请使用--platform
选项并指定所需的平台架构,例如linux/amd64
或linux/aarch64
,如下所示:docker pull --platform linux/aarch64 ghcr.io/graalvm/native-image-community:24
Oracle GraalVM 容器镜像 #
Oracle GraalVM 容器镜像根据 GraalVM 自由条款和条件 (GFTC) 许可证发布到 Oracle 容器注册表中。有关详细信息,请访问 Oracle 帮助中心。
相关文档 #
- 小型 Java 容器:了解 GraalVM Native Image 如何生成非常适合容器化的原生可执行文件。