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をコンテナ・イメージに提供します。イメージ・タグでは、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>
は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
イメージのプル
-
特定のJDK機能バージョン(17など)のOracle GraalVM JDKのコンテナ・イメージをプルするには、次を実行します。
docker pull container-registry.oracle.com/graalvm/jdk:17
または、コンテナ・イメージをDockerfileのベース・イメージとして使用するには、次を使用します。
FROM container-registry.oracle.com/graalvm/jdk:17
-
特定のJDK機能バージョン(17など)のOracle GraalVM
native-image
ユーティリティのコンテナ・イメージをプルするには、次を実行します。docker pull container-registry.oracle.com/graalvm/native-image:17
または、
musl libc
ツールチェーンを使用してOracle GraalVMnative-image
ユーティリティのコンテナ・イメージをプルし、完全に静的にリンクされた実行可能ファイルを作成するには、次を実行します。docker pull container-registry.oracle.com/graalvm/native-image:17-muslib
または、コンテナ・イメージをDockerfileのベース・イメージとして使用するには、次を使用します。
FROM container-registry.oracle.com/graalvm/native-image:17-muslib
-
確認するには、コンテナを起動し、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
ユーティリティのバージョン情報が表示されます。 -
プロセッサ・アーキテクチャを指定せずに
docker pull
を呼び出すと、Dockerクライアントに一致するプロセッサ・アーキテクチャのコンテナ・イメージがプルされます。別のプラットフォーム・アーキテクチャのコンテナ・イメージをプルするには、次のように--platform
オプションとlinux/amd64
またはlinux/aarch64
のいずれかを使用して、目的のプラットフォーム・アーキテクチャを指定します。docker pull --platform linux/aarch64 container-registry.oracle.com/graalvm/native-image:17
関連情報
- GraalVMネイティブ・イメージ、Springおよびコンテナ化: GraalVMネイティブ・イメージによるコンテナ化に最適なネイティブ実行可能ファイルの生成について学習します。
- お知らせブログ: 新しいOracle GraalVMコンテナ・イメージ