Container Tools 拡張機能のカスタマイズ

Container Tools 拡張機能には、Docker の ビルド および 実行 の動作を制御し、デバッグ用のコンテナー起動の基盤となる Visual Studio Code タスクがいくつか含まれています。

これらのタスクにより、高度な制御とカスタマイズが可能になります。最終的な構成は、一般的な既定値、プラットフォーム固有の既定値(Node.js、Python、.NET など)、およびユーザー入力の組み合わせとなります。既定値と競合する場合、ユーザー入力が優先されます。

Visual Studio Code タスクのすべての一般的な機能(タスクを複合タスクにグループ化するなど)は、Container Tools 拡張機能タスクでサポートされています。一般的なタスクの機能とプロパティの詳細については、Visual Studio Code の カスタムタスク ドキュメントを参照してください。

Docker ビルドタスク

docker-build タスクは、Docker コマンドライン(CLI)を使用してイメージをビルドします。このタスクは単独で使用することも、コンテナー内でアプリケーションを実行およびデバッグするための一連のタスクの一部として使用することもできます。

docker-build タスクの最も重要な構成設定は dockerBuildplatform です。

  • dockerBuild オブジェクトは、Docker ビルドコマンドのパラメータを指定します。このオブジェクトで指定された値は、Docker ビルド CLI の呼び出しに直接適用されます。
  • platform プロパティは、docker-build タスクが Docker ビルドの既定値を決定する方法を変更するためのヒントです。

すべてのタスクプロパティの完全なリストについては、プロパティのリファレンス を参照してください。

プラットフォームのサポート

tasks.jsondocker-build タスクを使用して任意のイメージをビルドできますが、拡張機能は Node.js、Python、および .NET Core に対して明示的なサポート(および簡略化された構成)を提供しています。

Node.js (docker-build)

既定値を使用した最小限の構成

特定のプラットフォームオプションを持たない Node.js ベースのイメージでは、platform プロパティを node に設定するだけで済みます。

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Build Node Image",
      "type": "docker-build",
      "platform": "node"
    }
  ]
}

プラットフォームの既定値

Node.js ベースのイメージの場合、docker-build タスクは以下のオプションを推論します。

プロパティ 推論される値
dockerBuild.context package.json が存在するのと同じディレクトリ。
dockerBuild.dockerfile package.json と同じディレクトリにある Dockerfile ファイル。
dockerBuild.tag package.json 内のアプリケーションの name プロパティ(定義されている場合)。それ以外の場合は package.json が存在するフォルダーのベース名。
dockerBuild.pull ビルド前に新しいベースイメージをプルするために既定で true になります。

Python (docker-build)

既定値を使用した最小限の構成

特定のプラットフォームオプションを持たない Python ベースのイメージでは、platform プロパティを python に設定するだけで済みます。

{
  "tasks": [
    {
      "type": "docker-build",
      "label": "docker-build",
      "platform": "python"
    }
  ]
}

プラットフォームの既定値

Python ベースのイメージの場合、docker-build タスクは以下のオプションを推論します。

プロパティ 推論される値
dockerBuild.context 既定のコンテキストはワークスペースフォルダーです。
dockerBuild.dockerfile 既定の Dockerfile パスはワークスペースフォルダーのルートにあります。
dockerBuild.tag ルートワークスペースフォルダーのベース名。
dockerBuild.pull ビルド前に新しいベースイメージをプルするために既定で true になります。

.NET (docker-build)

既定値を使用した最小限の構成

.NET ベースのイメージをビルドする場合、platform プロパティを省略して netCore オブジェクトを設定するだけで済みます(netCore オブジェクトが存在する場合、platform は暗黙的に netcore に設定されます)。appProject は必須プロパティであることに注意してください。

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Build Node Image",
      "type": "docker-build",
      "netCore": {
        "appProject": "${workspaceFolder}/project.csproj"
      }
    }
  ]
}

プラットフォームの既定値

.NET ベースのイメージの場合、docker-build タスクは以下のオプションを推論します。

プロパティ 推論される値
dockerBuild.context ルートワークスペースフォルダー。
dockerBuild.dockerfile ルートワークスペースフォルダーにある Dockerfile ファイル。
dockerBuild.tag ルートワークスペースフォルダーのベース名。
dockerBuild.pull ビルド前に新しいベースイメージをプルするために既定で true になります。

ビルドタスクのリファレンス

docker-build タスクの構成に使用できるすべてのプロパティを以下に示します。特に指定がない限り、すべてのプロパティは任意です。

プロパティ 説明
dockerBuild 実行される docker build コマンドを制御するためのオプション(下記参照)。
platform が設定されていない限り必須です。
platform プラットフォームを決定します:.NET (netcore) または Node.js (node)、および docker build コマンドの既定設定。
node Node.js プロジェクト固有のオプションを決定します(下記参照)。
python docker-build タスクには、Python 用のオブジェクトプロパティはありません。
netCore .NET プロジェクト固有のオプションを決定します(下記参照)。

dockerBuild オブジェクトのプロパティ

プロパティ 説明 docker build CLI の同等項目
context ビルドコンテキストへのパス。
プラットフォームから推論される場合を除き、必須。
PATH
dockerfile Dockerfile へのパス。
プラットフォームから推論される場合を除き、必須。
-f または --file
tag イメージに適用されるタグ。
プラットフォームから推論される場合を除き、必須。
-t または --tag
buildArgs コマンドラインに適用されるビルド引数。これはキーと値のペアのリストです。 --build-arg
labels イメージに追加されるラベル。これはキーと値のペア(JSON オブジェクト)のリストです。
ここで指定されたラベルに加えて、visual-studio-code に設定されたラベル com.microsoft.created-by がイメージに追加されます。この動作は、labels オブジェクトの includeDefaults プロパティを false に設定することで無効にできます。
--label
target ビルドする Dockerfile 内のターゲット。 --target
pull ビルド前に新しいベースイメージをプルするかどうか。 --pull
customOptions コンテキスト引数の前に追加する追加パラメータ。他のオプションとの競合解決や検証は行われません。 (任意)

node オブジェクトのプロパティ(docker-build タスク)

プロパティ 説明 既定値
package Dockerfile および docker-build タスクに関連付けられた package.json ファイルへのパス。 ルートワークスペースフォルダーにある package.json ファイル。

netCore オブジェクトのプロパティ(docker-build タスク)

プロパティ 説明
appProject Dockerfile および docker-build タスクに関連付けられた .NET プロジェクトファイル(.csproj, .fsproj など)。
常に必須。

Docker 実行タスク

tasks.jsondocker-run タスクは、Docker コマンドライン(CLI)を使用してコンテナーを作成および起動します。このタスクは単独で使用することも、コンテナー内でアプリケーションをデバッグするための一連のタスクの一部として使用することもできます。

docker-run タスクの最も重要な構成設定は dockerRunplatform です。

  • dockerRun オブジェクトは、Docker 実行コマンドのパラメータを指定します。このオブジェクトで指定された値は、Docker 実行 CLI の呼び出しに直接適用されます。
  • platform プロパティは、docker-run タスクが Docker 実行の既定値を決定する方法を変更するためのヒントです。

すべてのタスクプロパティの完全なリストについては、プロパティのリファレンス を参照してください。

Docker 実行プラットフォームのサポート

docker-run タスクを使用して任意の Docker イメージを実行できますが、拡張機能は Node.js、Python、および .NET に対して明示的なサポート(および簡略化された構成)を提供しています。

Node.js (docker-run)

既定値を使用した最小限の構成

特定のプラットフォームオプションを持たない Node.js ベースのイメージでは、platform プロパティを node に設定するだけで済みます。

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run Node Image",
      "node": "docker-run",
      "platform": "node"
    }
  ]
}

プラットフォームの既定値

Node.js ベースのイメージの場合、docker-run タスクは以下のオプションを推論します。

プロパティ 推論される値
dockerRun.command package.json 内の npm start スクリプト(存在する場合)から生成されます。存在しない場合は package.jsonmain プロパティから生成されます。
dockerRun.containerName アプリケーションパッケージ名から派生します。
dockerRun.image 依存する docker-build タスクがある場合はそのタグ、そうでない場合はアプリケーションパッケージ名(package.json 内の name プロパティ、またはそれが存在するフォルダーのベース名から自身で派生)から派生します。

Python (docker-run)

Python ベースのイメージをビルドする場合、platform プロパティを省略して python オブジェクトを設定するだけで済みます(python オブジェクトが存在する場合、platform は暗黙的に python に設定されます)。

Django アプリの最小構成

{
  "type": "docker-run",
  "label": "docker-run: debug",
  "dependsOn": ["docker-build"],
  "python": {
    "args": ["runserver", "0.0.0.0:8000", "--nothreading", "--noreload"],
    "file": "path_to/manage.py"
  }
}

Flask アプリの最小構成

{
  "type": "docker-run",
  "label": "docker-run: debug",
  "dependsOn": ["docker-build"],
  "dockerRun": {
    "env": {
      "FLASK_APP": "path_to/flask_entry_point.py"
    }
  },
  "python": {
    "args": ["run", "--no-debugger", "--no-reload", "--host", "0.0.0.0", "--port", "5000"],
    "module": "flask"
  }
}

汎用アプリの最小構成

{
  "type": "docker-run",
  "label": "docker-run: debug",
  "dependsOn": ["docker-build"],
  "python": {
    "file": "path_to/app_entry_point.py"
  }
}

プラットフォームの既定値

Python ベースのイメージの場合、docker-run タスクは以下のオプションを推論します。

プロパティ 推論される値
dockerRun.command Python オブジェクトによって生成され、Python デバッガーによって呼び出されます。
dockerRun.containerName ルートワークスペースフォルダーのベース名から派生します。
dockerRun.image 依存する docker-build タスクがある場合はそのタグ、そうでない場合はルートワークスペースフォルダーのベース名から派生します。

.NET (docker-run)

既定値を使用した最小限の構成

.NET ベースのイメージをビルドする場合、platform プロパティを省略して netCore オブジェクトを設定するだけで済みます(netCore オブジェクトが存在する場合、platform は暗黙的に netcore に設定されます)。appProject は必須プロパティであることに注意してください。

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run .NET Core Image",
      "type": "docker-run",
      "netCore": {
        "appProject": "${workspaceFolder}/project.csproj"
      }
    }
  ]
}

プラットフォームの既定値

.NET ベースのイメージの場合、docker-run タスクは以下のオプションを推論します。

プロパティ 推論される値
dockerRun.containerName ルートワークスペースフォルダーのベース名から派生します。
dockerRun.env 必要な環境変数として ASPNETCORE_ENVIRONMENTASPNETCORE_URLS、および DOTNET_USE_POLLING_FILE_WATCHER を追加します。
dockerRun.image 依存する docker-build タスクがある場合はそのタグ、そうでない場合はルートワークスペースフォルダーのベース名から派生します。
dockerRun.os Linux
dockerRun.volumes 必要なボリュームとして、ローカルアプリケーションフォルダー、ソースフォルダー、デバッガーフォルダー、NuGet パッケージフォルダー、および NuGet フォールバックフォルダーを追加します。

実行タスクのリファレンス

docker-run タスクの構成に使用できるすべてのプロパティを以下に示します。特に指定がない限り、すべてのプロパティは任意です。

プロパティ 説明
dockerRun 実行される docker run コマンドを制御するためのオプション(下記参照)。
platform が設定されていない限り必須です。
platform プラットフォームを決定します:.NET (netcore) または Node.js (node)、および docker run コマンドの既定設定。
node Node.js プロジェクトの場合、これは様々なオプションを制御します(下記参照)。
python Python プロジェクトの場合、これは様々なオプションを制御します(下記参照)。
netCore .NET プロジェクトの場合、これは様々なオプションを制御します(下記参照)。

dockerRun オブジェクトのプロパティ

プロパティ 説明 CLI の同等項目
image 実行するイメージの名前(タグ)。
プラットフォームから推論される場合を除き、必須。
IMAGE
command コンテナー起動時に実行するコマンド。
プラットフォームから推論される場合を除き、必須。
COMMAND [ARG...]
containerName 起動したコンテナーに付与される名前。
プラットフォームから推論される場合を除き、必須。
--name
env コンテナー内で設定される環境変数。これはキーと値のペアのリストです。 -e または --env
envFiles これは .env ファイルのリストです。 --env-file
labels 起動したコンテナーに付与されるラベル。これはキーと値のペアのリストです。 --label
network コンテナーが接続されるネットワークの名前。 --network
networkAlias 起動したコンテナーのネットワークスコープのエイリアス。 --network-alias
os 既定は Linux、もう一つのオプションは Windows。使用されるコンテナーオペレーティングシステム。 該当なし
ports コンテナーからホストへ公開(マッピング)するポート。これはオブジェクトのリストです(下記参照)。 -p または --publish
portsPublishAll Docker イメージによって公開されるすべてのポートを公開するかどうか。ポートが明示的に公開されていない場合、既定で true になります。 -P
extraHosts DNS 解決のためにコンテナーに追加するホスト。これはオブジェクトのリストです(下記参照)。 --add-host
volumes 起動したコンテナーにマッピングするボリューム。これはオブジェクトのリストです(下記参照)。 -v または --volume
remove 停止後にコンテナーを削除するかどうか。 --rm
customOptions イメージ引数の前に追加する任意の追加パラメータ。他のオプションとの競合解決や検証は行われません。 (任意)

ports オブジェクトのプロパティ

プロパティ 説明 既定値
containerPort コンテナー上でバインドされるポート番号。
必須。
hostPort ホスト上でバインドされるポート番号。 (Docker によってランダムに選択)
protocol バインディングのプロトコル(tcp または udp)。 tcp

extraHosts オブジェクトのプロパティ

プロパティ 説明
hostname DNS 解決用のホスト名。
必須。
ip 上記のホスト名に関連付けられた IP アドレス。
必須。

volumes オブジェクトのプロパティ

プロパティ 説明 既定値
localPath マッピングされるローカルマシン上のパス。
必須。
containerPath ローカルパスがマッピングされるコンテナー内のパス。
必須。
permissions マッピングされたパスに対するコンテナーの権限。ro(読み取り専用)または rw(読み書き可能)を指定できます。 コンテナーに依存。

node オブジェクトのプロパティ(docker-run タスク)

プロパティ 説明 既定値
package docker-run タスクに関連付けられた package.json ファイルへのパス。 ルートワークスペースフォルダーにある package.json ファイル。
enableDebugging コンテナー内でデバッグを有効にするかどうか。 false
inspectMode アプリケーションとデバッガー間の初期インタラクションを定義します(default または break)。
default は、デバッガーがアタッチされるまでアプリケーションを実行させます。
break は、デバッガーがアタッチされるまでアプリケーションの実行を一時停止させます。
default
inspectPort デバッグが発生するポート。 9229

python オブジェクトのプロパティ(docker-run タスク)

プロパティ 説明 既定値
args Python アプリに渡される引数。 プラットフォーム依存。スキャフォールディングの既定値は上記を参照。
debugPort デバッガーがリッスンするポート。 5678
wait デバッガーのアタッチを待機するかどうか。 true
module 実行する Python モジュール(モジュール または ファイルのいずれかを選択する必要があります)。
file 実行する Python ファイル(モジュール または ファイルのいずれかを選択する必要があります)。

netCore オブジェクトのプロパティ(docker-run タスク)

プロパティ 説明
appProject docker-run タスクに関連付けられた .NET プロジェクトファイル(.csproj, .fsproj など)。
必須。
configureSsl ASP.NET Core SSL 証明書およびその他の設定を構成して、コンテナー内のサービスで SSL を有効にするかどうか。
enableDebugging デバッグのために起動したコンテナーを有効にするかどうか。これにより、デバッグに必要な追加のボリュームマッピングやその他のオプションが推論されます。

Docker Compose タスク

tasks.jsondocker-compose タスクは、Docker Compose コマンドライン(CLI)を使用してコンテナーを作成および起動します。このタスクは単独で使用することも、コンテナー内でアプリケーションをデバッグするための一連のタスクの一部として使用することもできます。

docker-compose タスクの最も重要な構成設定は dockerCompose です。

  • dockerCompose オブジェクトは、Docker Compose コマンドのパラメータを指定します。このオブジェクトで指定された値は、Docker Compose CLI の呼び出しに直接適用されます。

すべてのタスクプロパティの完全なリストについては、プロパティのリファレンス を参照してください。

構成例

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run docker-compose up",
      "type": "docker-compose",
      "dockerCompose": {
        "up": {
          "detached": true,
          "build": true,
          "services": ["myservice"]
        },
        "files": [
          "${workspaceFolder}/docker-compose.yml",
          "${workspaceFolder}/docker-compose.debug.yml"
        ]
      }
    }
  ]
}

Compose タスクのリファレンス

docker-compose タスクの構成に使用できるすべてのプロパティを以下に示します。特に指定がない限り、すべてのプロパティは任意です。

プロパティ 説明
dockerCompose 実行される docker-compose コマンドを制御するためのオプション(下記参照)。
必須。

dockerCompose オブジェクトのプロパティ

プロパティ 説明 CLI の同等項目
up docker-compose up コマンドを実行します。
これまたは down のいずれかを指定する必要がありますが、両方を同時に指定することはできません。
docker-compose up
down docker-compose down コマンドを実行します。
これまたは up のいずれかを指定する必要がありますが、両方を同時に指定することはできません。
docker-compose down
files docker-compose コマンドで使用する Docker Compose YAML ファイルのリスト。指定されていない場合、Docker Compose CLI は docker-compose.ymldocker-compose.override.yml を探します。 -f <ファイル>
envFile 読み込まれ、コンテナーに適用される環境変数のファイル。 --env-file <ファイル>
projectName Docker オブジェクトの名前付けとラベル付けに使用する代替プロジェクト名。Compose Up 時に代替プロジェクト名を使用している場合、Compose Down 時にも同じプロジェクト名を指定する必要があります。 --project-name <名前>

up オブジェクトのプロパティ

プロパティ 説明 CLI の同等項目 既定値
detached デタッチモードで実行するかどうか。 -d true
build 実行前にビルドするかどうか。 --build true
scale 実行する各サービスのインスタンス数。これはキーと値のペアのリストです。 --scale サービス=数
services 起動するサービスのサブセット。profiles と組み合わせることはできません。 [サービス...] (すべて)
profiles 起動するプロファイルのサブセット。services と組み合わせることはできません。 --profile <プロファイル> (すべて)
customOptions up 引数の後に追加する任意の追加パラメータ。他のオプションとの競合解決や検証は行われません。 (任意)

down オブジェクトのプロパティ

プロパティ 説明 CLI の同等項目 既定値
removeImages イメージを削除するかどうか、およびどのイメージを削除するか。all はサービスで使用されるすべてのイメージを削除し、local はカスタムタグのないイメージのみを削除します。この設定を未設定のままにすると、イメージは削除されません。 --rmi
removeVolumes 名前付きボリュームを削除するかどうか。 -v false
customOptions down 引数の後に追加する任意の追加パラメータ。他のオプションとの競合解決や検証は行われません。 (任意)

コマンドのカスタマイズ

Container Tools 拡張機能は、イメージのビルド、コンテナーの実行、コンテナーへのアタッチ、コンテナーログの表示など、さまざまな操作を実行する際に多くの Docker CLI コマンドを実行します。これらのコマンドの一部には、非常に特定のシナリオで使用されるオプションの引数が多数含まれています。上記の Visual Studio Code タスクの代替として、タスクを使用していない場合にいくつかのコマンドをカスタマイズできます。

例えば、Compose Up コマンド内のトークン ${serviceList} および ${profileList} を使用すると、Docker Compose YAML ファイル内のサービスの一部を簡単に起動できます。

これらのカスタマイズ可能な Docker コマンドごとに、実行するテンプレートを設定する構成設定が用意されています。あるいは、複数のテンプレートを定義し、必要に応じて正規表現を使用して、一致した場合にそのテンプレートを使用すべきコンテキストを示唆させることもできます。テンプレートは launch.jsontasks.json に似たトークン(例: ${workspaceFolder})をサポートしています。

設定の JSON スキーマ

各テンプレート(下記参照)の構成には 2 つのオプションがあります。最初のオプションは、既定の動作をオーバーライドする単一のテンプレートです。

{
  "containers.commands.build": "docker build --rm -f \"${dockerfile}\" -t ${tag} \"${context}\""
}

2 番目のオプションは、match 正規表現およびユーザー入力に基づいて選択される複数のテンプレートです。

例えば、次の例では 3 つのテンプレートが示されています。

{
  "containers.commands.build": [
    {
      "label": "Default build command",
      "template": "docker build --rm -f \"${dockerfile}\" -t ${tag} \"${context}\""
    },
    {
      "label": "Alpine-specific build command",
      "template": "docker build -p 1234:1234 -f \"${dockerfile}\" -t ${tag} \"${context}\"",
      "match": "alpine"
    }
  ]
}

選択動作

実行用に選択されるコマンドテンプレートは、以下のルールに基づいて選ばれます。

  1. 設定が構成されていない場合は、既定のコマンドテンプレートが選択されます。
  2. 単一のテンプレートのみが構成されている場合(上記の最初の例)、そのテンプレートが選択されます。
  3. 複数のテンプレートが構成されている場合
    1. 制約付きテンプレートがチェックされます。制約付きテンプレートには match があります。match 正規表現は、コンテキストヒント(画像名、コンテナー名など)と照合されます。
    2. 複数の制約付きテンプレートが適用される場合、ユーザーは選択を促されます。1 つのみ適用される場合、ユーザーへのプロンプトは表示されません。
    3. 適用される制約付きテンプレートがない場合、制約なしテンプレートがチェックされます。制約なしテンプレートには match がないため、常に適用可能です。
    4. 複数の制約なしテンプレートが適用される場合、ユーザーは選択を促されます。1 つのみ適用される場合、ユーザーへのプロンプトは表示されません。

Docker ビルド

構成設定 既定値
docker.commands.build ${containerCommand} build --rm -f "${dockerfile}" -t ${tag} "${context}"

サポートされるトークン

トークン 説明
${containerCommand} コンテナーコマンドを実行するために使用される CLI コマンド/実行ファイル。
${dockerfile} 選択された Dockerfile のワークスペース相対パス。
${tag} ビルドコマンドの呼び出し時にユーザーが入力/確認した値。以前にビルドされたことがある場合は、その Dockerfile に対して以前に入力された値が既定値になります。
${context} 設定されている場合は containers.imageBuildContextPath 構成設定の値。それ以外の場合は Dockerfile が存在するワークスペース相対フォルダー。

: containers.commands.build 設定に ${tag} トークンが含まれていない場合、ユーザーはタグの入力/確認を求められません。

: match 正規表現は、選択された Dockerfile 名およびワークスペースフォルダー名と照合されます。

Docker 実行

構成設定 既定値
containers.commands.run ${containerCommand} run --rm -d ${exposedPorts} ${tag}
containers.commands.runInteractive ${containerCommand} run --rm -it ${exposedPorts} ${tag}

サポートされるトークン

トークン 説明
${containerCommand} コンテナーコマンドを実行するために使用される CLI コマンド/実行ファイル。
${exposedPorts} イメージ内で公開されているポートのリスト(最終的には Dockerfile から)から生成されます。各公開ポートはローカルマシンの同じポートにマッピングされます。例えば、"EXPOSE 5000 5001""-p 5000:5000 -p 5001:5001" を生成します。
${tag} 選択されたイメージの完全なタグ。

: match 正規表現は、選択されたイメージの完全なタグと照合されます。

コンテナーアタッチ

構成設定 既定値
containers.commands.attach ${containerCommand} exec -it ${containerId} ${shellCommand}

サポートされるトークン

トークン 説明
${containerCommand} コンテナーコマンドを実行するために使用される CLI コマンド/実行ファイル。
${containerId} アタッチするコンテナーの ID。
${shellCommand} コンテナー内に bash が存在する場合はここに置換され、存在しない場合は sh が使用されます。Windows コンテナーでは、常に cmd が使用されます。

: match 正規表現は、コンテナー名およびコンテナーイメージの完全なタグと照合されます。

コンテナーログ

構成設定 既定値
containers.commands.logs ${containerCommand} logs -f ${containerId}

サポートされるトークン

トークン 説明
${containerCommand} コンテナーコマンドを実行するために使用される CLI コマンド/実行ファイル。
${containerId} ログを表示するコンテナーの ID。

: match 正規表現は、コンテナー名およびコンテナーイメージの完全なタグと照合されます。

Docker Compose Up

構成設定 既定値
containers.commands.composeUp ${composeCommand} ${configurationFile} up ${detached} ${build}

サポートされるトークン

トークン 説明
${configurationFile} -f に、選択された Docker Compose YAML ファイルへのワークスペース相対パスを足したものに設定されます。
${detached} containers.composeDetached 構成設定が true に設定されている場合は -d に設定されます。それ以外の場合は "" に設定されます。
${build} containers.composeBuild 構成設定が true に設定されている場合は --build に設定されます。それ以外の場合は "" に設定されます。
${serviceList} 指定されている場合、コマンド実行時に起動するサービスのサブセットの入力を求めます。
${profileList} 指定されており、かつ Docker Compose YAML ファイルにプロファイルが含まれている場合、コマンド実行時に起動するプロファイルのサブセットの入力を求めます。
${composeCommand} containers.composeCommand 設定が設定されている場合はその値に、それ以外の場合は拡張機能が使用するコマンド(docker compose または docker-compose)を自動的に決定しようとします。

Docker Compose Down

構成設定 既定値
containers.commands.composeDown ${composeCommand} ${configurationFile} down

サポートされるトークン

トークン 説明
${configurationFile} -f に、選択された Docker Compose YAML ファイルへのワークスペース相対パスを足したものに設定されます。
${composeCommand} containers.composeCommand 設定が設定されている場合はその値に、それ以外の場合は拡張機能が使用するコマンド(docker compose または docker-compose)を自動的に決定しようとします。

その他サポートされているトークン

コマンド固有のサポートトークンに加え、すべてのコマンドテンプレートで以下のトークンがサポートされています。

トークン 説明
${workspaceFolder} 選択されたワークスペースフォルダーのパス。
${config:some.setting.identifier} 文字列、数値、またはブール値である限り、任意の構成設定の値。これらの設定識別子は任意に定義でき、Visual Studio Code や特定の拡張機能に属している必要はありません。
${env:Name} 環境変数の値。
${command:commandID} コマンドの文字列の戻り値。
© . This site is unofficial and not affiliated with Microsoft.