- 适用于 JDK 23 的 GraalVM(最新)
- 适用于 JDK 24 的 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
、23
等等。 例如,适用于 JDK 23 的 GraalVM 安装在 /usr/lib64/graalvm/graalvm-community-java23/ 中。 所有二进制文件,包括 java
、javac
、native-image
和其他二进制文件,都通过 alternatives
命令作为全局命令提供。
注意:对于 GraalVM 非 RPM 基镜像(graalvm-community、python-community、truffleruby-community),安装位置位于 /opt/ 下(分别为 /opt/graalvm-community-java<$FeatureVersion>/、/opt/truffleruby-<$GRAALVM_VERSION>/ 和 /opt/graalpy-<$GRAALVM_VERSION>/)。
注意:GraalVM 社区版容器镜像基于 Oracle Linux slim 镜像,默认的包管理器为
microdnf
。
查看完整的 GraalVM 社区版容器镜像列表 这里.
标签 #
每个仓库提供多个标签,您可以根据需要选择稳定性级别,包括 Java 版本、构建号和 Oracle Linux 版本。 镜像标签使用以下命名约定
$version[-muslib(for native image only)][-$platform][-$buildnumber]
以下标签从最具体的标签(顶部)到最不具体的标签(底部)列出。 最具体的标签是唯一的,始终指向同一个镜像,而较不具体的标签随着时间的推移会指向更新的镜像变体。 例如
22.0.1-ol9-20240416
22.0.1-ol9
22.0.1
22-ol9
22
拉取镜像 #
- 要拉取适用于特定 JDK 功能版本的 GraalVM JDK 容器镜像,例如 23,请运行
docker pull ghcr.io/graalvm/jdk-community:23
或者,要在您的 Dockerfile 中使用容器镜像作为基础镜像,请使用
FROM ghcr.io/graalvm/jdk-community:23
您已经拉取了一个体积紧凑的 GraalVM 社区版容器镜像,其中预安装了 GraalVM JDK 和 Graal 编译器。
- 要拉取包含适用于特定 JDK 功能版本的
native-image
实用程序的容器镜像,例如 23,请运行docker pull ghcr.io/graalvm/native-image-community:23
或者,要拉取包含
native-image
实用程序和musl libc
工具链的容器镜像,以创建完全静态链接的可执行文件,请使用docker pull ghcr.io/graalvm/native-image-community:23-muslib
或者,要在您的 Dockerfile 中使用容器镜像作为基础镜像,请使用
FROM ghcr.io/graalvm/native-image-community:23-muslib
- 要验证,请启动容器并进入 Bash 会话
docker run -it --rm --entrypoint /bin/bash ghcr.io/graalvm/native-image-community:23
要检查 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:23
Oracle GraalVM 容器镜像 #
Oracle GraalVM 容器镜像发布在 Oracle 容器注册表 中,根据 GraalVM 免费条款和条件 (GFTC) 许可。 在 Oracle 帮助中心 中了解更多信息。
相关文档 #
- 小型 Java 容器:了解 GraalVM Native Image 如何生成适合容器化的原生可执行文件。