- 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:23
GraalVM 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:23
GraalVM のバージョンとそのインストール場所を確認するには、Bash プロンプトから
env
コマンドを実行します。env
出力には、インストールされた GraalVM のバージョンと場所に対応する値を持つ環境変数
JAVA_HOME
が含まれます。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 Container Registry の下で、GraalVM Free Terms and Conditions (GFTC) ライセンスに基づいて公開されています。Oracle Help Centerで詳細をご覧ください。
関連ドキュメント #
- Tiny Java Containers: GraalVM Native Image がコンテナ化に最適なネイティブ実行可能ファイルを生成する方法を学びます。