第1章 ネイティブ実行可能ファイルの作成
Podman または Docker などのコンテナーランタイムを使用して、Quarkus アプリケーションからネイティブ実行可能ファイルを作成することができます。Quarkus は、ビルダーイメージを使用してバイナリー実行可能ファイルを作成します。これは、Red Hat Universal Base Images RHEL8-UBI および RHEL8-UBI minimal と共に使用することができます。Red Hat ビルドの Quarkus 1.11 は、quarkus.native.builder-image プロパティーのデフォルトとして registry.access.redhat.com/quarkus/mandrel-20-rhel8:20.3 を使用します。
お使いのアプリケーションのネイティブ実行可能ファイルには、アプリケーションコード、必須ライブラリー、Java API、および仮想マシン (VM) の縮小版が含まれます。縮小された仮想マシンベースは、アプリケーションの起動時間を高速化し、ディスクのフットプリントを小さくします。
手順
Getting Started プロジェクトの
pom.xmlファイルを開き、nativeプロファイルが含まれていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Quarkus
nativeプロファイルを使用すると、ネイティブ実行可能ファイルおよびネイティブイメージテストの両方を実行することができます。以下のいずれかの方法を使用して、ネイティブ実行可能ファイルをビルドします。
Docker を使用してネイティブ実行可能ファイルをビルドします。
./mvnw package -Pnative -Dquarkus.native.container-build=true
./mvnw package -Pnative -Dquarkus.native.container-build=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow Podman を使用してネイティブ実行可能ファイルをビルドします。
./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=podman
./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=podmanCopy to Clipboard Copied! Toggle word wrap Toggle overflow これらのコマンドにより、
targetディレクトリーにgetting-started-*-runnerバイナリーが作成されます。重要Quarkus アプリケーションをネイティブ実行可能ファイルにコンパイルすると、分析および最適化の際にメモリーを大量に消費します。
quarkus.native.native-image-xmx設定プロパティーを設定することで、ネイティブコンパイル時に使用されるメモリーの量を制限することができます。メモリー制限を低く設定すると、ビルド時間が長くなる可能性があります。詳細は、ネイティブ実行可能ファイルの設定プロパティー を参照してください。
ネイティブ実行可能ファイルを実行します。
./target/getting-started-*-runner
./target/getting-started-*-runnerCopy to Clipboard Copied! Toggle word wrap Toggle overflow ネイティブ実行可能ファイルをビルドする場合は
prodプロファイルが有効化され、Quarkus ネイティブテストは、prodプロファイルを使用して実行されます。これは、quarkus.test.native-image-profileプロパティーを使用して変更できます。