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
タスクの最も重要な設定は dockerBuild
と platform
です。
dockerBuild
オブジェクトは、Docker ビルド コマンドのパラメーターを指定します。このオブジェクトで指定された値は、Docker ビルド CLI の呼び出しに直接適用されます。platform
プロパティは、docker-build
タスクが Docker ビルドのデフォルトをどのように決定するかを変更するヒントです。
すべてのタスク プロパティの完全なリストについては、プロパティ リファレンスを参照してください。
プラットフォームサポート
tasks.json
の docker-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.json
の docker-run
タスクは、Docker コマンドライン (CLI) を使用してコンテナーを作成し、起動します。このタスクは単独で使用することも、コンテナー内でアプリケーションをデバッグするためのタスクチェーンの一部として使用することもできます。
docker-run
タスクの最も重要な設定は dockerRun
と platform
です。
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 プロパティ、またはそれが存在するフォルダーの基本名から派生します。 |
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_ENVIRONMENT 、ASPNETCORE_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.json
の docker-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.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 引数の後に追加する追加のパラメーター。他のオプションとの競合を解決したり、このオプションを検証したりする試みは行われません。 |
(任意) |
コマンドのカスタマイズ
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"
}
]
}
選択動作
実行するコマンド テンプレートは、次のルールに基づいて選択されます。
- 設定が構成されていない場合は、デフォルトのコマンド テンプレートが選択されます。
- 単一のテンプレートのみが構成されている場合 (上記の最初の例)、そのテンプレートが選択されます。
- 複数のテンプレートが構成されている場合
- 制約付きテンプレートがチェックされます。制約付きテンプレートには
match
があります。match
正規表現は、コンテキスト ヒント (たとえば、イメージ名、コンテナー名など) と比較されます。 - 複数の制約付きテンプレートが適用される場合、ユーザーは選択を促されます。1 つだけが適用される場合、ユーザーは促されません。
- 適用可能な制約付きテンプレートがない場合、制約なしテンプレートがチェックされます。制約なしテンプレートには
match
がなく、したがって常に適用可能です。 - 複数の制約なしテンプレートが適用される場合、ユーザーは選択を促されます。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} |
コマンドの文字列戻り値。 |