Oracle GraalVMコンテナ・イメージ

Oracle GraalVMコンテナ・イメージは、GraalVM Free Terms and Conditions (GFTC)ライセンスに基づいてOracle Container Registry (OCR)で入手できます。

リポジトリ

Oracle GraalVMコンテナ・イメージは、jdknative-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>172123など)。

たとえば、Oracle GraalVM for JDK 23は/usr/lib64/graalvm/graalvm-java23/にインストールされます。javajavacnative-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

イメージのプル

  1. 特定のJDK機能バージョン(23など)のOracle GraalVM JDKのコンテナ・イメージをプルするには、次を実行します:
     docker pull container-registry.oracle.com/graalvm/jdk:23
    

    または、コンテナ・イメージをDockerfileのベース・イメージとして使用するには、次を使用します。

     FROM container-registry.oracle.com/graalvm/jdk:23
    
  2. 特定のJDK機能バージョン(23など)のOracle GraalVM native-imageユーティリティのコンテナ・イメージをプルするには、次を実行します:
    docker pull container-registry.oracle.com/graalvm/native-image:23
    

    または、musl libcツールチェーンを使用してOracle GraalVM native-imageユーティリティのコンテナ・イメージをプルし、完全に静的にリンクされた実行可能ファイルを作成するには、次を実行します。

    docker pull container-registry.oracle.com/graalvm/native-image:23-muslib
    

    または、コンテナ・イメージをDockerfileのベース・イメージとして使用するには、次を使用します。

    FROM container-registry.oracle.com/graalvm/native-image:23-muslib
    
  3. 確認するには、コンテナを起動し、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ユーティリティのバージョン情報が表示されます。

  4. プロセッサ・アーキテクチャを省略したdocker pullコマンドでは、Dockerクライアントに一致するプロセッサ・アーキテクチャのコンテナ・イメージがプルされます。別のプラットフォーム・アーキテクチャのコンテナ・イメージをプルするには、次のように--platformオプションとlinux/amd64またはlinux/aarch64のいずれかを使用して、目的のプラットフォーム・アーキテクチャを指定します:
     docker pull --platform linux/aarch64 container-registry.oracle.com/graalvm/native-image:23