Oracle GraalVMコンテナ・イメージ
Oracle GraalVMコンテナ・イメージは、GraalVM Free Terms and Conditions (GFTC)ライセンスに基づいてOracle Container Registry (OCR)で入手できます。
リポジトリ
Oracle GraalVMコンテナ・イメージは、jdkとnative-imageの2つのOCRリポジトリに公開されています。
リポジトリ | 説明 |
---|---|
jdk | Javaアプリケーションのコンパイルとデプロイの両方に使用できるOracle GraalVM JDK (native-image ユーティリティなし)を含むコンテナ・イメージを提供します。コンテナ・イメージ・タグを使用して、適切なJavaバージョンおよびOracle Linuxバージョンを選択します。 |
native-image | native-image ユーティリティと、アプリケーションをネイティブLinux実行可能ファイルにコンパイルするために必要なすべてのツールをOracle GraalVMコンテナ・イメージに提供します。これらのイメージは、通常、アプリケーションを実行可能ファイルにコンパイルして軽量コンテナ・イメージにパッケージ化するために、マルチステージ・ビルドで使用されます。コンテナ・イメージ・タグを使用して、JavaバージョンとOracle Linuxバージョン、および完全に静的にリンクされた実行可能ファイルを作成するためのmuslツールチェーンを含むバリアントを選択します。 |
どちらのリポジトリも、x64およびAArch64プロセッサ・アーキテクチャのコンテナ・イメージを提供し、Oracle Linuxバージョン7、8または9を選択できます。
Oracle GraalVMは、/usr/lib64/graalvm/graalvm-java<$FeatureVersion>/にインストールされます(<$FeatureVersion>
は17
、21
、23
など)。
たとえば、Oracle GraalVM for JDK 23は/usr/lib64/graalvm/graalvm-java23/にインストールされます。java
、javac
、native-image
、およびその他のバイナリを含むすべてのバイナリは、alternatives
コマンドを使用してグローバル・コマンドとして使用できます。
タグ
各リポジトリには、Javaバージョン、ビルド番号、Oracle Linuxバージョンなど、必要な安定性のレベルを選択できる複数のタグが用意されています。Oracle GraalVMコンテナ・イメージ・タグでは、次の命名規則を使用します:
$version[-muslib(for native image only)][-$platform][-$buildnumber]
次のタグは、(上部にある)最も特定的なタグから(下部にある)最も特定的でないタグの順にリストされています。最も特定的なタグは一意であり、常に同じコンテナ・イメージを指しますが、より特定的でないタグは時間の経過とともに新しいコンテナ・イメージ・バリアントを指します。
22.0.1-ol9-20240504
22.0.1-ol9
22.0.1
22-ol9
22
イメージのプル
- 特定のJDK機能バージョン(23など)のOracle GraalVM JDKのコンテナ・イメージをプルするには、次を実行します:
docker pull container-registry.oracle.com/graalvm/jdk:23
または、コンテナ・イメージをDockerfileのベース・イメージとして使用するには、次を使用します。
FROM container-registry.oracle.com/graalvm/jdk:23
- 特定のJDK機能バージョン(23など)のOracle GraalVM
native-image
ユーティリティのコンテナ・イメージをプルするには、次を実行します:docker pull container-registry.oracle.com/graalvm/native-image:23
または、
musl libc
ツールチェーンを使用してOracle GraalVMnative-image
ユーティリティのコンテナ・イメージをプルし、完全に静的にリンクされた実行可能ファイルを作成するには、次を実行します。docker pull container-registry.oracle.com/graalvm/native-image:23-muslib
または、コンテナ・イメージをDockerfileのベース・イメージとして使用するには、次を使用します。
FROM container-registry.oracle.com/graalvm/native-image:23-muslib
- 確認するには、コンテナを起動し、Bashセッションに入ります:
docker run -it --rm --entrypoint /bin/bash container-registry.oracle.com/graalvm/native-image:23
Oracle GraalVMのバージョンとそのインストール場所を確認するには、
bash
プロンプトからenv
コマンドを実行します:env
出力には、インストールされているOracle GraalVMのバージョンと場所に対応する値が設定された環境変数
JAVA_HOME
が含まれます。GraalVMのバージョンとそのインストール場所を確認するには、Bashプロンプトから
env
コマンドを実行します:java -version
この出力には、インストールされているOracle GraalVM Javaランタイム環境およびバージョン情報が表示されます。
native-image
バージョンを確認するには、Bashプロンプトから次のコマンドを実行します:native-image --version
この出力には、インストールされているOracle GraalVM
native-image
ユーティリティのバージョン情報が表示されます。 - プロセッサ・アーキテクチャを省略した
docker pull
コマンドでは、Dockerクライアントに一致するプロセッサ・アーキテクチャのコンテナ・イメージがプルされます。別のプラットフォーム・アーキテクチャのコンテナ・イメージをプルするには、次のように--platform
オプションとlinux/amd64
またはlinux/aarch64
のいずれかを使用して、目的のプラットフォーム・アーキテクチャを指定します:docker pull --platform linux/aarch64 container-registry.oracle.com/graalvm/native-image:23
関連ドキュメント
- Tiny Java Containers: GraalVMネイティブ・イメージによるコンテナ化に最適なネイティブ実行可能ファイルの生成について学習します。
- お知らせブログ: 新しいOracle GraalVMコンテナ・イメージ