Elastic Container Instance (ECI) は、イメージに事前定義された設定を使用してコンテナを起動します。イメージのビルド時に起動コマンドと引数を設定しなかった場合、または既存の設定をオーバーライドしたい場合は、ECI インスタンスの作成時に指定できます。これにより、コンテナの起動時の動作と初期化プロセスを定義でき、コンテナが正しく実行され、必要なサービスを提供できるようになります。このトピックでは、コンテナの起動コマンドと引数を設定する方法について説明します。
仕組み
イメージで定義されたデフォルトの起動設定 (作業ディレクトリ、起動コマンド、引数など) をオーバーライドするには、次のパラメーターを設定します。
-
作業ディレクトリ
イメージをビルドする際、
WORKDIR命令を使用してコンテナの作業ディレクトリを指定できます。コンテナの起動時に実行されるコマンドは、このディレクトリで実行されます。詳細については、「WORKDIR」をご参照ください。ECI インスタンスを作成する際、コンテナの作業ディレクトリ (
WorkingDir) を設定することで、WORKDIR命令をオーバーライドできます。説明-
イメージで
WORKDIRが指定されておらず、ECI インスタンスの作成時に作業ディレクトリを設定しない場合、作業ディレクトリはデフォルトでルートディレクトリ (/) になります。 -
指定された作業ディレクトリが存在しない場合、システムによって自動的に作成されます。
-
-
起動コマンドと引数
イメージをビルドする際、
ENTRYPOINTおよびCMD命令を使用して、コンテナの起動時に実行するコマンドと引数を指定できます。詳細については、「ENTRYPOINT」および「CMD」をご参照ください。ECI インスタンスを作成する際、コンテナの起動コマンド (
Command) と引数 (Arg) を設定することで、ENTRYPOINTおよびCMD命令をオーバーライドできます。次のルールによって、これらのオーバーライドがどのように有効になるかが決まります。重要起動コマンドは、コンテナイメージでサポートされているコマンドである必要があります。そうでない場合、コンテナの起動は失敗します。
イメージの
ENTRYPOINTイメージの
CMDコンテナの
Commandコンテナの
Arg実行されるコマンド
説明
mkdir/data/backup未設定
未設定
mkdir /data/backupコンテナの
CommandとArgが設定されていない場合、イメージのENTRYPOINTとCMDが実行されます。mkdir/data/backupcd未設定
cdコンテナの
Commandは設定されているがArgが設定されていない場合、コンテナのCommandのみが実行されます。イメージのENTRYPOINTとCMDは無視されます。mkdir/data/backup未設定
/opt/backupmkdir /opt/backupコンテナの
Argは設定されているがCommandが設定されていない場合、イメージのENTRYPOINTがコンテナのArgと共に実行されます。mkdir/data/backupcd/opt/backupcd /opt/backupコンテナの
CommandとArgの両方が設定されている場合、コンテナのCommandとArgのみが実行されます。イメージのENTRYPOINTとCMDは無視されます。
設定
API
CreateContainerGroup 操作を呼び出して ECI インスタンスを作成する際、WorkingDir、Command、Arg パラメーターを使用して、コンテナの作業ディレクトリ、起動コマンド、引数を設定できます。次の表に、これらのパラメーターを示します。詳細については、「CreateContainerGroup」をご参照ください。
|
パラメーター |
タイプ |
例 |
説明 |
|
|
String |
|
コンテナの作業ディレクトリ。 |
|
|
Array |
|
コンテナの起動コマンド。文字列の配列として指定します。配列には最大 20 個の要素を含めることができます。 |
|
|
Array |
|
起動コマンドの引数。文字列の配列として指定します。配列には最大 10 個の要素を含めることができます。 |
コンソール
Elastic Container Instance 購入ページから ECI インスタンスを作成する際に、コンテナー設定 セクションで各コンテナの起動コマンドと引数を設定できます。
