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:17Oracle 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コンテナ・イメージ