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をコンテナ・イメージに提供します。イメージ・タグでは、JavaバージョンおよびOracle Linuxバージョンを選択できます。
native-image native-imageユーティリティと、アプリケーションをネイティブLinux実行可能ファイルにコンパイルするために必要なすべてのツールをOracle GraalVMコンテナ・イメージに提供します。これらのイメージは、通常、アプリケーションを実行可能ファイルにコンパイルして軽量コンテナ・イメージにパッケージ化するために、マルチステージ・ビルドで使用されます。イメージ・タグでは、JavaバージョンとOracle Linuxバージョン、および完全に静的にリンクされた実行可能ファイルを作成するためのmuslツールチェーンを含むバリアントを選択できます。

どちらのリポジトリも、AMD64およびAArch64プロセッサ・アーキテクチャのコンテナ・イメージを提供し、Oracle Linuxバージョン7、8または9を選択できます。

Oracle GraalVMは、/usr/lib64/graalvm/graalvm-java<$FeatureVersion>にインストールされます(<$FeatureVersion>1720など)。たとえば、Oracle GraalVM for JDK 17は/usr/lib64/graalvm/graalvm-java17にインストールされます。javajavacnative-image、およびその他のバイナリを含むすべてのバイナリは、alternativesコマンドを使用してグローバル・コマンドとして使用できます。

タグ

各リポジトリには、Javaバージョン、ビルド番号、Oracle Linuxバージョンなど、必要な安定性のレベルを選択できる複数のタグが用意されています。Oracle GraalVMイメージ・タグでは、次の命名規則を使用します。

$version[-muslib(for native image only)][-$platform][-$buildnumber]

次のタグは、(上部にある)最も特定的なタグから(下部にある)最も特定的でないタグの順にリストされています。最も特定的なタグは一意であり、常に同じイメージを指しますが、より特定的でないタグは時間の経過とともに新しいイメージ・バリアントを指します。

17.0.8-ol9-20230904
17.0.8-ol9
17.0.8
17-ol9
17

イメージのプル

  1. 特定のJDK機能バージョン(17など)のOracle GraalVM JDKのコンテナ・イメージをプルするには、次を実行します。

     docker pull container-registry.oracle.com/graalvm/jdk:17
    

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

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

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

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

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

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

    FROM container-registry.oracle.com/graalvm/native-image:17-muslib
    
  3. 確認するには、コンテナを起動し、Bashセッションに入ります。

     docker run -it --rm --entrypoint /bin/bash container-registry.oracle.com/graalvm/native-image:17
    

    Oracle GraalVMのバージョンとそのインストール場所を確認するには、Bashプロンプトからenvコマンドを実行します。

     env
    

    出力には、インストールされているOracle GraalVMのバージョンと場所を指す環境変数JAVA_HOMEが表示されます。

    Javaバージョンを確認するには、Bashプロンプトから次のコマンドを実行します。

     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:17
    

関連情報