Spusťte podmnožinu 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 vytvářet a vybírat profily spuštění, abyste přizpůsobili prostředí pro ladění a nastavili konkrétní spouštěcí akce, jako je Browser Launch URL
. Máte také možnost zvolit jednotlivé služby nebo zvolit profil 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 viz 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 pro orchestraci kontejnerů s Docker Compose a.
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:
Ve Visual Studiu zvolte Ladění>Spravovat nastavení spuštění Docker Compose:
Klikněte pravým tlačítkem na projekt
docker-compose
sady Visual Studio a vyberte Spravovat nastavení spuštění Docker ComposePoužijte panel Snadné spuštění (Ctrl+Q) a vyhledejte Docker Compose a najděte stejný příkaz.
V níže uvedeném příkladu je vybrán profil web1
Compose, který filtruje seznam Services tak, aby obsahoval pouze tři z pěti služeb zahrnutých v tomto profilu.
"Snímek obrazovky s dialogovým oknem pro spuštění nastavení"
Poznámka
Oddíl profilů v Docker Compose se zobrazí pouze v případě, že jsou v souborech docker-compose.yml profily definované.
Další příklad ukazuje výběr mezi jednotlivými službami místo filtrování na služby v profilu Compose. Tady ukážeme, jak by dialogové okno vypadalo, pokud byste vytvořili nový spouštěcí profil s názvem test2
, který spustí pouze dvě z pěti služeb, a to webapplication1
s 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
.
Tyto informace se ukládají do launchSettings.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ů Visual Studio, které využívají Compose profily.
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 profilů web
i web1
Compose), external1
a external2
. Ve výchozím nastavení mají služby bez zdrojového kódu, například external1
a external2
výchozí akci Spustit bez ladění. Aplikace .NET ve výchozím nastavení zdrojového kódu přejdou na Spustit ladění.
Důležitý
Pokud služba neurčí profil Compose, je 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 webapplication1 na Spustit bez ladění. Nastavení v launchSettings.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í v launchSettings.json:
Vlastnost | Popis |
---|---|
název příkazu | Název příkazu Výchozí hodnota je „DockerCompose“. |
verze příkazu | Číslo verze použité ke správě schématu spouštěcího profilu DockerCompose. |
vytvořitProfil | 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 Compose profilů, služeb a akce spuštění jednotlivých služeb. |
servisní akce | Zobrazí seznam vybraných služeb a akci spuštění. |
composeLaunchAction | Určuje akci spuštění, která se má provést na 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. |