🚀 VS Codeでで入手しましょう!

Docker拡張機能をカスタマイズする

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

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

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

Docker buildタスク

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

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

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

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

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

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

Node.js (docker-build)

デフォルトを使用した最小限の構成

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

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

プラットフォームのデフォルト

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

プロパティ 推測される値
dockerBuild.context package.jsonが存在するディレクトリと同じディレクトリ。
dockerBuild.dockerfile package.jsonが存在するディレクトリと同じディレクトリにあるDockerfileファイル。
dockerBuild.tag アプリケーションのpackage.jsonnameプロパティ(定義されている場合)、それ以外の場合はpackage.jsonが存在するフォルダのベース名。

Python (docker-build)

デフォルトを使用した最小限の構成

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

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

プラットフォームのデフォルト

Python Dockerイメージの場合、docker-buildタスクは次のオプションを推測します。

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

.NET (docker-build)

デフォルトを使用した最小限の構成

.NETベースのDockerイメージをビルドする場合、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 ルートワークスペースフォルダのベース名。

Buildタスクリファレンス

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 Dockerビルドコンテキストへのパス。
プラットフォームから推測されない場合は必須。
PATH
dockerfile Dockerfileへのパス。
プラットフォームから推測されない場合は必須。
-f または --file
tag Dockerイメージに適用されるタグ。
プラットフォームから推測されない場合は必須。
-t または --tag
buildArgs コマンドラインに適用されるビルド引数。これはキーと値のペアのリストです。 --build-arg
labels Dockerイメージに追加されたラベル。これはキーと値のペアのリスト(JSONオブジェクト)です。
ここで指定されたラベルに加えて、ラベルcom.microsoft.created-byvisual-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 runタスク

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

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

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

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

Docker runプラットフォームサポート

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

Node.js (docker-run)

デフォルトを使用した最小限の構成

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

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

プラットフォームのデフォルト

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

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

Python (docker-run)

PythonベースのDockerイメージをビルドする場合、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イメージの場合、docker-runタスクは次のオプションを推測します。

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

.NET (docker-run)

デフォルトを使用した最小限の構成

.NETベースのDockerイメージをビルドする場合、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フォールバックフォルダ)を追加します。

Runタスクリファレンス

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、もう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モジュール(moduleまたはfileのいずれかを選択する必要があります)。
file 実行するPythonファイル(moduleまたはfileのいずれかを選択する必要があります)。

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コンテナを作成および起動します。このタスクは、単独で使用することも、Dockerコンテナ内でアプリケーションをデバッグするための一連のタスクの一部として使用することもできます。

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

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

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

設定JSONスキーマ

各テンプレートを構成するには、次の2つのオプションがあります(以下にリストされています)。最初のオプションは、デフォルトの動作をオーバーライドする単一のテンプレートです。

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

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

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

{
  "docker.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 Build

構成設定 デフォルト値
docker.commands.build ${containerCommand} build --rm -f "${dockerfile}" -t ${tag} "${context}"

サポートされているトークン

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

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

match正規表現は、選択されたDockerfile名とワークスペースフォルダ名に対して比較されます。

Docker Run

構成設定 デフォルト値
docker.commands.run ${containerCommand} run --rm -d ${exposedPorts} ${tag}
docker.commands.runInteractive ${containerCommand} run --rm -it ${exposedPorts} ${tag}

サポートされているトークン

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

match正規表現は、選択されたイメージのフルタグに対して比較されます。

Docker Attach

構成設定 デフォルト値
docker.commands.attach ${containerCommand} exec -it ${containerId} ${shellCommand}

サポートされているトークン

トークン 説明
${containerCommand} コンテナコマンドの実行に使用されるCLIコマンド/実行可能ファイル。
${containerId} アタッチするコンテナのID。
${shellCommand} bashがコンテナに存在する場合はここに代入され、それ以外の場合はsh。Windowsコンテナでは、常にcmdが使用されます。

match正規表現は、コンテナ名とコンテナイメージのフルタグに対して比較されます。

Docker Logs

構成設定 デフォルト値
docker.commands.logs ${containerCommand} logs -f ${containerId}

サポートされているトークン

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

match正規表現は、コンテナ名とコンテナイメージのフルタグに対して比較されます。

Docker Compose Up

構成設定 デフォルト値
docker.commands.composeUp ${composeCommand} ${configurationFile} up ${detached} ${build}

サポートされているトークン

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

Docker Compose Down

構成設定 デフォルト値
docker.commands.composeDown ${composeCommand} ${configurationFile} down

サポートされているトークン

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

追加でサポートされているトークン

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

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