ワークロードのコマンドおよび引数の定義
IBM Cloud® Code Engine ワークロードのコンテナー・イメージを作成するときに、ジョブまたはアプリケーションが実行時に使用するコマンドおよび引数を定義できます。
コンテナー・イメージには、イメージに含まれているどのコマンドをコンテナーの作成時に実行するかをコンテナー・ランタイムに指示するメタデータが 2 つ入っています。 それらのメタデータ・フィールドの名前は、Entrypoint および Command です。 Dockerfile に詳しいユーザーにとって、これらのフィールドは ENTRYPOINT コマンドおよび
CMD コマンドに相当します。 この 2 つのフィールドに入っている文字列の配列が結合されて、コンテナーの実行時に使用されるコマンド・ラインが作成されます。
例えば、コンテナー・イメージの Entrypoint 値が /myapp で、Command 値が --debug の場合、実行される完全なコマンドは、/myapp --debug (2 つの文字列から成る配列) になります。 この処理は 2 つの配列の連結であるため、Entrypoint が空の配列である場合は、Command 配列の最初の配列要素が、コンテナー内で実行される実行ファイルになることに注意してください。
Code Engine のアプリケーションまたはジョブを作成するときに、Entrypoint と Command の両方の配列の値を指定できます。
| 説明 | 画像 | Code Engine名 |
|---|---|---|
| コンテナーによって実行されるコマンド。 | ENTRYPOINT |
command |
| コマンドに渡される引数。 | Command |
args |
--commandが使用されている場合、イメージのEntrypoint値はすべて上書きされ、イメージのCommand値はすべて無視されます。--argumentを使用すると、すべてのイメージのCommand値が上書きされます。
このプロセスについて詳しく理解するには、以下の例を参照してください。
イメージ Entrypoint |
イメージ Command |
Code Engine command |
Code Engine args |
実行されるコマンド |
|---|---|---|---|---|
/myapp |
--debug |
<not set> |
<not set> |
/myapp --debug |
/myapp |
--debug |
/myapp2 |
<not set> |
/myapp2 |
/myapp |
--debug |
<not set> |
-d |
/myapp -d |
/myapp |
--debug |
/myapp2 |
-d |
/myapp2 -d |
これらの値は、CLI では、--command および --argument オプションを使用してアプリおよびジョブに対して指定できます。コンソールでは、Command と Arguments の入力ボックスを使用してジョブに対して指定できます。 詳しくは、コマンドと引数を使用したアプリケーションのデプロイおよび
コマンドと引数を使用したジョブの実行を参照してください。