Oracle GraalVMコンテナ・イメージの開始
Oracle GraalVMコンテナ・イメージは、GraalVM Free Terms and Conditions (GFTC)ライセンスに基づいてOracle Container Registry (OCR)で入手できます。
次のイメージを使用できます:
イメージ名 | 説明 |
---|---|
jdk-ee | Oracle GraalVM JDKを含むコンパクト・イメージ |
native-image-ee | Oracle GraalVMのnative-image ユーティリティとJDKを含むコンパクト・イメージ |
enterprise | Oracle GraalVM JDKと、追加の機能のインストールを可能にするgu (Graal Updater)ユーティリティを提供します |
nodejs-ee | Node.jsランタイムとOracle GraalVM JDKが含まれています |
イメージのタグ付けの構造と可用性
どちらのリポジトリも、AMD64およびAArch64プロセッサ・アーキテクチャのコンテナ・イメージを提供し、Oracle Linuxバージョン7、8または9を選択できます。
Oracle GraalVMは、/usr/lib64/graalvm/graalvm-java<$FeatureVersion>
にインストールされます(<$FeatureVersion>
は17
、20
など)。たとえば、Oracle GraalVM for JDK 17は/usr/lib64/graalvm/graalvm-java17
にインストールされます。java
、javac
、native-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
{IMAGE_TAG}の構造は次のとおりです:
{OS_VERSION}-java{JAVA_VERSION}-{MAJOR_RELEASE}.{MINOR_RELEASE}.{PATCH_RELEASE}-b{BUILD_NUMBER}
この構造は、様々なレベルの特定性を持つ参照を許可するように設計されています。有効なイメージ・タグの最小値はjava{JAVA_VERSION}-{MAJOR_RELEASE}
です。たとえば、次のタグはすべて有効なイメージ・タグです:
java17-22
java17-22.3
java17-22.3.0
java17-22.3.0-b1
ol8-java17-22.3.1-b2
ol8-java17-22.3.1
やol8-java17-22.3.1-b1
など、最も具体的なタグを使用することをお薦めします。-b1
は、イメージにパッチが必要なことを示し、この特定のビルドは変更されません。
完全には指定されていないイメージ・タグ(たとえば、java17-22
)は安定しておらず、使用可能な最新のOracle GraalVM 22.xリリースを参照するように時間の経過とともに変化します。latest
(またはタグなし)を使用すると、特定のイメージ、最新のOS、最新のJavaバージョンおよび最新のGraalVMバージョンを常に入手できます。
スタート・ガイド
Oracle GraalVMイメージをOracle Container Registryからプルするには、ライセンス契約に同意する必要があります。
-
Oracle Container Registryに移動し、「GraalVM」タイルをクリックします。GraalVMリポジトリの説明ページにリダイレクトされます。
-
イメージ・リポジトリをクリックします。たとえば、JDKを含むコンパクトなコンテナ・イメージが必要な場合は、「jdk-ee」リンクをクリックします。
-
「サインイン」をクリックします。これにより、Oracleシングル・サインオン・ページが表示されます。
-
Oracleアカウントでサインインします。既存のOracleアカウントがない場合は作成できます。
-
サインインすると、ライセンスの確認画面が表示されます。「続行」をクリックし、「同意」をクリックしてライセンスに同意して続行します。
-
ライセンスを確認し、同意します。
-
端末ウィンドウを開き、次のようにOracleアカウントを使用してOracle Container Registryにログインします:
docker login container-registry.oracle.com Username: <oracle sso username> Password: <oracle sso password> Login successful.
-
docker pull
コマンドを使用してイメージをプルします。ページに表示されるタグのリストから、最新のタグまたは特定のタグを使用します。たとえば:docker pull container-registry.oracle.com/graalvm/jdk-ee:latest latest: Pulling from graalvm/jdk-ee 58c4eaffce77: Pull complete 8800a93aa49d: Pull complete da2734fc865b: Pull complete Digest: sha256:ccde822a1119da5f95e97b331632e6219b0ae29f81f516d1c0b9787 Status: Downloaded newer image for container-registry.oracle.com/graalvm/jdk-ee:latest container-registry.oracle.com/graalvm/jdk-ee:latest
-
jdk-ee
イメージからコンテナを起動し、次のrun
コマンドを使用してbashセッションを入力します:docker run -it --rm --entrypoint /bin/bash container-registry.oracle.com/graalvm/native-image:17
-
env
コマンドを実行して、Oracle GraalVMのバージョンとストレージの場所を確認します:bash-5.1# env
出力メッセージには、インストールされているOracle GraalVMのバージョンとインストールされている場所を示す
JAVA_HOME
の値が含まれています。 -
Oracle GraalVMのbinディレクトリの内容を確認します:
bash-5.1# ls /usr/lib64/graalvm/graalvm22-ee-java17/bin
-
次のコマンドを実行して、Javaバージョンを確認します:
bash-5.1# java -version
出力には、ランタイム環境とそのバージョン番号に関する情報が含まれています。
native-image-ee
イメージをプルすると、コンテナを起動し、native-image-ee
イメージからすぐにセッションに入ることができます:
docker run -it --rm container-registry.oracle.com/graalvm/native-image-ee:latest bash
前述のステップ10から12に従って、インストールされているOracle GraalVMのバージョンと場所を確認します。この場合、binディレクトリにはjava
およびnative-image
ランチャが含まれています。バージョンをチェックします:
native-image --version
java -version
関連情報
- GraalVMネイティブ・イメージ、Springおよびコンテナ化: GraalVMネイティブ・イメージによるコンテナ化に最適なネイティブ実行可能ファイルの生成について学習します。