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