サーバーレス アプリ エンジン (SAE) コンソールでイメージまたはコードパッケージを使用してアプリケーションをデプロイする場合、SAE はコンテナイメージまたはコードパッケージのプリセット起動パラメーターを使用してコンテナーを起動します。コンテナーの起動前に NGINX 設定などのカスタム設定を構成する場合、またはプリセットの起動パラメーターを使用したくない場合は、SAE でアプリケーションの起動コマンドを構成して、イメージファイルのプリセットパラメーター設定を上書きできます。
背景
イメージを作成する前に、コンテナーの起動設定は、Dockerfile の ENTRYPOINT コマンドまたは CMD コマンドで指定されます。コンテナーが起動すると、Dockerfile のコマンドが優先的に実行されます。
この例では、次のコマンドが Dockerfile にプリセットされています。コンテナーが起動すると、このコマンドが最初に実行されます。
FROM ubuntu
ENTRYPOINT [nginx, '-g', 'daemon off;']
使用方法
アプリケーションの作成時、実行中のアプリケーションの変更時、またはアプリケーションのデプロイ時に、起動コマンドを構成できます。
アプリケーションの作成
SAE コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。トップナビゲーションバーでリージョンを選択し、[アプリケーションリスト] ドロップダウンリストから名前空間を選択して、アプリケーション一覧[アプリケーションの作成] をクリックします。
[基本情報] ページで必要なパラメーターを構成し、[次へ: 詳細設定] をクリックします。
実行中のアプリケーションの変更
アプリケーションを再デプロイすると、アプリケーションが再起動されます。ビジネスの中断などの予期しないエラーを防ぐために、オフピーク時にアプリケーションをデプロイすることをお勧めします。
SAE コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。トップナビゲーションバーでリージョンを選択し、[アプリケーションリスト] ドロップダウンリストから名前空間を選択して、ターゲットアプリケーションの名前をクリックします。アプリケーション一覧
表示される [基本情報] ページで、[アプリケーションのデプロイ] をクリックします。
停止したアプリケーションの変更
SAE コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。トップナビゲーションバーでリージョンを選択し、[アプリケーションリスト] ドロップダウンリストから名前空間を選択して、ターゲットアプリケーションの名前をクリックします。アプリケーション一覧
表示される [基本情報] ページで、[アプリケーション構成の変更] をクリックします。
アプリケーションの起動コマンドの構成
イメージを使用してデプロイされたアプリケーション
この例では、Java アプリケーションの起動コマンドを構成します。
[起動コマンド] セクションで、起動方法を選択し、コンテナーの起動コマンドを構成します。
>_ /bin/sh
sh -c 'while true; do echo hello; sleep 10;done'
>_ /bin/bash
bash -c 'while true; do echo hello; sleep 10;done'
JAR パッケージを使用してデプロイされたアプリケーション
Java アプリケーションを起動または実行するには、Java 仮想マシン (JVM) パラメーターやガベージコレクション (GC) パラメーターなどの起動コマンドとパラメーターを構成する必要があります。
SAE は、アップロードした JAR パッケージを自動的にイメージにコンパイルし、イメージをイメージリポジトリにアップロードしてから、アプリケーションをコンテナーとして実行します。コンパイル中に、SAE は組み込みの起動コマンドとパラメーターを使用し、JAR パッケージのストレージパスを指定します。SAEコンソール にログインして、デフォルトの起動コマンドとコマンドパラメーターを変更できます。
起動コマンドが無効な場合、アプリケーションの作成に失敗します。Dockerfile の ENTRYPOINT コマンドと CMD コマンドに慣れていない場合は、カスタムの起動コマンドとパラメーターを構成したり、デフォルトの起動コマンドとパラメーターを変更したりしないことをお勧めします。
[起動コマンド設定] セクションで、パラメーターを構成します。次の図は、サンプル起動コマンドの構成を示しています。
パラメーター | 説明 |
デフォルトの起動コマンド | SAE によって提供されるデフォルトの起動コマンド。 |
オプション設定 | JVM パラメーター。詳細については、「JVM オプション」、「Tuning Java Virtual Machines」、および「JVM Tuning: How to Prepare Your Environment for Performance Tuning」をご参照ください。 アプリケーションのリモートデバッグ機能を使用する場合は、JDK バージョンに従って次のコマンドを構成します。
各項目の説明:
重要 WAR パッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドは、JAR パッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドとは異なります。アプリケーションをデプロイする際に異なる方法を使用する場合は、同じ起動コマンドを使用しないことをお勧めします。前述のリモートデバッグコマンドを使用すると、アプリケーションのデプロイに WAR パッケージを使用するか JAR パッケージを使用するかに関係なく、アプリケーションをデバッグできます。 |
Args 設定 | 標準出力 (stdout) および標準エラー (stderr) のリダイレクトパラメーター。例: |
WAR パッケージを使用してデプロイされたアプリケーション
[起動コマンド設定] セクションでパラメーターを構成します。次の図は、サンプルの起動コマンドの構成を示しています。
パラメーター | 説明 |
デフォルトの起動コマンド | SAE によって提供されるデフォルトの起動コマンド。 |
Options 設定 | JVM パラメーター。詳細については、「JVM オプション」、「Tuning Java Virtual Machines」、および「JVM Tuning: How to Prepare Your Environment for Performance Tuning」をご参照ください。 アプリケーションのリモートデバッグ機能を使用する場合は、JDK バージョンに従って次のコマンドを構成します。
各項目の説明:
重要 WAR パッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドは、JAR パッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドとは異なります。アプリケーションをデプロイする際に異なる方法を使用する場合は、同じ起動コマンドを使用しないことをお勧めします。前述のリモートデバッグコマンドを使用すると、アプリケーションのデプロイに WAR パッケージを使用するか JAR パッケージを使用するかに関係なく、アプリケーションをデバッグできます。 |
ZIP パッケージを使用してデプロイされたアプリケーション
[起動コマンド] セクションで、起動方法を選択し、コンテナーの起動コマンドを構成します。
>_ /bin/sh
sh -c 'gunicorn -w 3 -b 0.0.0.0:8080 app.hello:app'
>_ /bin/bash
bash -c 'gunicorn -w 3 -b 0.0.0.0:8080 app.hello:app'