GraalVM 社区版容器镜像 #

为支持基于容器的开发,GraalVM 社区版容器镜像已发布到 GitHub 容器注册表

存储库 #

根据架构和 Java 版本,提供了不同的 GraalVM 社区版容器镜像,并且它们的名称中包含 -community。这些镜像包括:native-image-communityjdk-communitytruffleruby-communitynodejs-communitygraalpy-community。这些容器镜像是多架构的,支持 x64 和 AArch64 处理器架构,并可选择 Oracle Linux 版本 7、8 或 9。

GraalVM 安装在 /usr/lib64/graalvm/graalvm-community-java<$FeatureVersion>/ 中,其中 <$FeatureVersion> 可以是 172124 等。例如,用于 JDK 24 的 GraalVM 安装在 /usr/lib64/graalvm/graalvm-community-java24/ 中。所有二进制文件,包括 javajavacnative-image 和其他二进制文件,都可以通过 alternatives 命令作为全局命令使用。

注意:对于基于非 RPM 的 GraalVM 镜像(graalvm-communitypython-communitytruffleruby-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

拉取镜像 #

  1. 要拉取特定 JDK 特性版本(例如 24)的 GraalVM JDK 容器镜像,请运行:
     docker pull ghcr.io/graalvm/jdk-community:24
    

    或者,要将此容器镜像用作 Dockerfile 中的基础镜像,请使用:

     FROM ghcr.io/graalvm/jdk-community:24
    

    您已拉取一个大小紧凑的 GraalVM 社区版容器镜像,其中预安装了 GraalVM JDK 和 Graal 编译器。

  2. 要拉取包含 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
    
  3. 要验证,请启动容器并进入 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
    
  4. 不指定处理器架构而调用 docker pull 会拉取与您的 Docker 客户端匹配的处理器架构的容器镜像。要拉取不同平台架构的容器镜像,请使用 --platform 选项并指定所需的平台架构,例如 linux/amd64linux/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 如何生成非常适合容器化的原生可执行文件。

联系我们