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

コンテナツール拡張機能をカスタマイズする

コンテナツール拡張機能には、Dockerのビルド実行の動作を制御し、デバッグのためのコンテナ起動の基礎を形成するいくつかのVisual Studio Codeタスクが含まれています。

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

Visual Studio Codeタスクのすべての共通機能(たとえば、タスクを複合タスクにグループ化するなど)は、コンテナツール拡張機能のタスクでサポートされています。共通タスクの機能とプロパティの詳細については、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.json内のmainプロパティから生成されます。
dockerRun.containerName アプリケーションパッケージ名から派生します。
dockerRun.image 依存するdocker-buildタスク(存在する場合)のタグ、またはアプリケーションパッケージ名から派生します。アプリケーションパッケージ名は、package.json内のnameプロパティ、またはpackage.jsonが存在するフォルダーのベース名から派生します。

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引数の後に追加する追加のパラメーター。他のオプションとの競合を解決したり、このオプションを検証したりする試みは行われません。 (任意)

コマンドのカスタマイズ

コンテナツール拡張機能は、イメージのビルド、コンテナの実行、コンテナへのアタッチ、コンテナログの表示など、さまざまな操作を実行する際に多数の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.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} コマンドの文字列戻り値。