Spuštění podmnožina služeb Compose
Pokud máte aplikaci, která se skládá z více služeb a používá Docker Compose, můžete nakonfigurovat, které služby běží a ladit vytvořením nebo úpravou existujícího spouštěcího profilu v nastavení spuštění Docker Compose. Spouštěcí profily umožňují dynamicky spouštět pouze služby, které jsou pro váš aktuální scénář důležité. Můžete vytvořit a vybrat z profilů spuštění, abyste přizpůsobili prostředí ladění a nastavili konkrétní spouštěcí akce, jako Browser Launch URL
je . Budete mít také možnost zvolit každou službu jednotlivě, nebo výběrem profilu Docker Compose, který se také podívá na váš soubor Compose a určí skupinu služeb, které se mají spustit.
Informace o profilech Docker Compose najdete v tématu Použití profilů s compose.
Požadavky
- Visual Studio 2019 verze 16.10 nebo novější
- Řešení .NET s orchestrací kontejnerů pomocí Docker Compose
- Visual Studio 2022 nebo Visual Studio 2019 verze 16.10 nebo novější
- Řešení .NET s orchestrací kontejnerů pomocí Docker Compose
Správa nastavení spuštění
Zvažte následující projekt Docker Compose, ve kterém má docker-compose.yml pět služeb a tři profily Compose (web, web1 a web2).
version: '3.9'
services:
webapplication1:
image: ${DOCKER_REGISTRY-}webapplication1
profiles: [web, web1]
build:
context: .
dockerfile: WebApplication1/Dockerfile
webapplication2:
image: ${DOCKER_REGISTRY-}webapplication2
profiles: [web, web2]
build:
context: .
dockerfile: WebApplication2/Dockerfile
webapplication3:
image: ${DOCKER_REGISTRY-}webapplication3
profiles: [web]
build:
context: .
dockerfile: WebApplication3/Dockerfile
external1:
image: redis
external2:
image: redis
Existuje několik možností, jak otevřít dialogové okno nastavení spuštění Docker Compose:
V sadě Visual Studio zvolte >spustit Nastavení Ladění správy docker Compose:
Klikněte pravým tlačítkem na projekt sady Visual Studio
docker-compose
a vyberte Spravovat spuštění Docker Compose NastaveníPoužijte rychlé spuštění (Ctrl+Q) a vyhledejte Docker Compose stejný příkaz.
V následujícím příkladu web1
je vybraný profil Compose, který filtruje seznam Služeb pouze na tři z pěti zahrnutých v tomto profilu:
Poznámka:
Oddíl profily Docker Compose se zobrazí jenom v případě, že jsou v souborech docker-compose.yml definované profily.
Další příklad ukazuje výběr mezi jednotlivými službami místo filtrování na služby v profilu Compose. Tady si ukážeme, jak by dialogové okno vypadalo, pokud jste vytvořili nový spouštěcí profil s názvem test2
, který spustí jenom dva z pěti služeb s webapplication1
laděním a webapplication2
bez ladění. Tento spouštěcí profil také spustí prohlížeč při spuštění aplikace a otevře ji na domovské stránce webapplication1
aplikace .
A tyto informace se uloží do spuštění Nastavení.json jak je znázorněno níže.
{
"profiles": {
"test2": {
"commandName": "DockerCompose",
"composeLaunchServiceName": "webapplication1",
"serviceActions": {
"external1": "DoNotStart",
"external2": "DoNotStart",
"webapplication1": "StartDebugging",
"webapplication2": "StartWithoutDebugging",
"webapplication3": "DoNotStart"
},
"composeLaunchAction": "LaunchBrowser",
"commandVersion": "1.0",
"composeLaunchUrl": "{Scheme}://localhost:{ServicePort}"
}
}
}
Vytvoření spouštěcího profilu, který používá profil Docker Compose
Chování při spuštění můžete dále přizpůsobit vytvořením spouštěcích profilů sady Visual Studio, které využívají profily pro psaní zpráv.
Pokud chcete vytvořit další profil, který používá profil Compose, vyberte Použít profily Docker Compose a zvolte web1
. Nyní spouštěcí profil obsahuje tři služby – webapplication1
(které patří do obou web
a web1
profilů Compose) external1
a external2
. Ve výchozím nastavení mají služby bez zdrojového kódu external1
jako výchozí external2
akci Spustit bez ladění. Aplikace .NET se zdrojovým kódem ve výchozím nastavení spustí ladění.
Důležité
Pokud služba nezadá profil Compose, bude zahrnuta do všech profilů compose implicitně.
Tyto informace se uloží, jak je znázorněno v následujícím kódu. Konfigurace služby a její výchozí akce se neuloží, pokud nezměníte výchozí akci.
{
"profiles": {
"test1": {
"commandName": "DockerCompose",
"composeProfile": {
"includes": [
"web1"
]
},
"commandVersion": "1.0"
}
}
}
Můžete také změnit akci webové aplikace1 na Spustit bez ladění. Nastavení při spuštění Nastavení.json pak vypadá jako následující kód:
{
"profiles": {
"test1": {
"commandName": "DockerCompose",
"composeProfile": {
"includes": [
"web1"
],
"serviceActions": {
"webapplication1": "StartWithoutDebugging"
}
},
"commandVersion": "1.0"
}
}
}
Vlastnosti
Tady je popis jednotlivých vlastností při spuštění Nastavení.json:
Vlastnost | Popis |
---|---|
Commandname | Název příkazu Výchozí hodnota je DockerCompose. |
commandVersion | Číslo verze použité ke správě schématu spouštěcího profilu DockerCompose. |
composeProfile | Nadřazená vlastnost, která definuje definici spouštěcího profilu. Jeho podřízené vlastnosti jsou includes a serviceActions |
composeProfile – zahrnuje | Seznam názvů profilů compose, které tvoří spouštěcí profil. |
composeProfile – serviceActions | Zobrazí seznam vybraných profilů, služeb a spouštěcí akce jednotlivých služeb. |
serviceActions | Zobrazí seznam vybraných služeb a akci spuštění. |
composeLaunchAction | Určuje akci spuštění, která se má provést s klávesou F5 nebo Ctrl+F5. Povolené hodnoty jsou None, LaunchBrowser a LaunchWCFTestClient. |
composeLaunchUrl | Adresa URL, která se má použít při spuštění prohlížeče. Platné náhradní tokeny jsou {ServiceIPAddress}, {ServicePort} a {Scheme}. Příklad: {Scheme}://{ServiceIPAddress}:{ServicePort} |
composeLaunchServiceName | Určuje službu použitou k nahrazení tokenů v souboru composeLaunchUrl. |