- 適用於 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
指令作為全域指令使用。
注意:對於非基於 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]
以下標籤依最特定標籤 (位於頂端) 到最不特定標籤 (位於底部) 列出。最特定標籤是唯一的,且總是指向相同的映像檔,而較不特定的標籤則隨著時間的推移指向更新的映像檔變體。例如
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 編譯器。
- 若要提取具有
native-image
公用程式的容器映像檔,適用於特定的 JDK 功能版本,例如 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 如何產生適用於容器化的原生可執行檔。