ワークロードのコマンドおよび引数の定義

IBM Cloud® Code Engine ワークロードのコンテナー・イメージを作成するときに、ジョブまたはアプリケーションが実行時に使用するコマンドおよび引数を定義できます。

コンテナー・イメージには、イメージに含まれているどのコマンドをコンテナーの作成時に実行するかをコンテナー・ランタイムに指示するメタデータが 2 つ入っています。 それらのメタデータ・フィールドの名前は、Entrypoint および Command です。 Dockerfile に詳しいユーザーにとって、これらのフィールドは ENTRYPOINT コマンドおよび CMD コマンドに相当します。 この 2 つのフィールドに入っている文字列の配列が結合されて、コンテナーの実行時に使用されるコマンド・ラインが作成されます。

例えば、コンテナー・イメージの Entrypoint 値が /myapp で、Command 値が --debug の場合、実行される完全なコマンドは、/myapp --debug (2 つの文字列から成る配列) になります。 この処理は 2 つの配列の連結であるため、Entrypoint が空の配列である場合は、Command 配列の最初の配列要素が、コンテナー内で実行される実行ファイルになることに注意してください。

Code Engine のアプリケーションまたはジョブを作成するときに、EntrypointCommand の両方の配列の値を指定できます。

Docker および Code Engine の名前
説明 画像 Code Engine名
コンテナーによって実行されるコマンド。 ENTRYPOINT command
コマンドに渡される引数。 Command args
  • --command が使用されている場合、イメージの Entrypoint 値はすべて上書きされ、イメージの Command 値はすべて無視されます。
  • --argument を使用すると、すべてのイメージの Command 値が上書きされます。

このプロセスについて詳しく理解するには、以下の例を参照してください。

イメージと Code Engine の例
イメージ 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 オプションを使用してアプリおよびジョブに対して指定できます。コンソールでは、CommandArguments の入力ボックスを使用してジョブに対して指定できます。 詳しくは、コマンドと引数を使用したアプリケーションのデプロイおよび コマンドと引数を使用したジョブの実行を参照してください。