VS Codeのエージェントモードを拡張するには、を試してください!

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 オブジェクト) です。
ここで指定されたラベルに加えて、com.microsoft.created-by というラベルが visual-studio-code に設定されてイメージに追加されます。この動作は、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.jsonname プロパティ、またはそれが存在するフォルダーの基本名から派生します。

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 [ARG...]
containerName 起動されたコンテナーに与えられる名前。
プラットフォームから推論されない限り必須。
--name
環境 コンテナーに設定される環境変数。これはキーと値のペアのリストです。 -e または --env
envFiles これは .env ファイルのリストです。 --env-file
labels 起動されたコンテナーに与えられるラベル。これはキーと値のペアのリストです。 --label
network コンテナーが接続されるネットワークの名前。 --network
networkAlias 起動されたコンテナーのネットワークスコープのエイリアス。 --network-alias
os デフォルトは Linux で、もう 1 つのオプションは Windows です。使用されるコンテナーのオペレーティング システム。 N/A
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 コンテナー内のサービスで SSL を有効にするために、ASP.NET Core 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 <file>
envFile 読み込まれてコンテナーに適用される環境変数ファイル。 --env-file <file>
projectName Docker オブジェクトの名前付けおよびラベル付けに使用する代替プロジェクト名。compose up 時に代替プロジェクト名を使用する場合、compose down 時に同じプロジェクト名を指定する必要があります。 --project-name <name>

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

プロパティ 説明 CLI 同等 既定値
detached デタッチして実行するかどうか。 -d true
build 実行前にビルドするかどうか。 --build true
scale 各サービスを実行するインスタンス数。これはキーと値のペアのリストです。 --scale SERVICE=NUM
services 起動するサービスの一部。profiles と組み合わせることはできません。 [SERVICE...] (すべて)
profiles 起動するプロファイルの一部。services と組み合わせることはできません。 --profile <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.json および tasks.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.composeDetachedtrue に設定されている場合、-d に設定されます。それ以外の場合、"" に設定されます。
${build} 構成設定 containers.composeBuildtrue に設定されている場合、--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} コマンドの文字列戻り値。