- GraalVM for JDK 23 (最新)
- GraalVM for JDK 24 (アーリーアクセス)
- GraalVM for JDK 21
- GraalVM for JDK 17
- アーカイブ
- 開発ビルド
GraalVM Community Edition コンテナイメージ #
コンテナベースの開発をサポートするため、GraalVM Community Edition コンテナイメージは GitHub Container Registry に公開されています。
リポジトリ #
アーキテクチャと Java のバージョンに応じて、異なる GraalVM Community Edition コンテナイメージが提供されており、名前の一部に -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 Community Edition コンテナイメージは、Oracle Linux のスリムイメージに基づいており、デフォルトのパッケージマネージャーは
microdnfです。
GraalVM Community Edition コンテナイメージの完全なリストはこちらをご覧ください。
タグ #
各リポジトリには、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
イメージのプル #
- 23 などの特定の JDK 機能バージョンの GraalVM JDK のコンテナイメージをプルするには、次を実行します。
docker pull ghcr.io/graalvm/jdk-community:23または、Dockerfile でコンテナイメージをベースイメージとして使用するには、次を使用します。
FROM ghcr.io/graalvm/jdk-community:23GraalVM JDK と Graal コンパイラがプリインストールされた、サイズがコンパクトな GraalVM Community Edition コンテナイメージをプルしました。
- 23 などの特定の JDK 機能バージョンの
native-imageユーティリティを含むコンテナイメージをプルするには、次を実行します。docker pull ghcr.io/graalvm/native-image-community:23または、完全に静的にリンクされた実行可能ファイルを作成するために、
musl libcツールチェーンを備えたnative-imageユーティリティを使用してコンテナイメージをプルするには、次を使用します。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:23GraalVM のバージョンとそのインストール場所を確認するには、Bash プロンプトから
envコマンドを実行します。env出力には、インストールされた GraalVM のバージョンと場所に対応する値を持つ環境変数
JAVA_HOMEが含まれます。Java のバージョンを確認するには、次を実行します。
java -versionnative-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 Container Registry の下で、GraalVM Free Terms and Conditions (GFTC) ライセンスに基づいて公開されています。Oracle Help Centerで詳細をご覧ください。
関連ドキュメント #
- Tiny Java Containers: GraalVM Native Image がコンテナ化に最適なネイティブ実行可能ファイルを生成する方法を学びます。