Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om du har ett program som består av flera tjänster och använder Docker Compose kan du konfigurera vilka tjänster som körs och felsökas genom att skapa eller redigera en befintlig startprofil i Docker Compose-startinställningarna. Med startprofiler kan du endast köra de tjänster som är viktiga för ditt aktuella scenario dynamiskt. Du kan skapa och välja från startprofiler för att anpassa felsökningsfunktionen och ange specifika startåtgärder, till exempel Browser Launch URL. Du kan också välja att antingen välja varje tjänst individuellt eller genom att välja en Docker Compose-profil, som också tittar på din Compose-fil för att fastställa vilken grupp av tjänster som ska köras.
För information om profiler i Docker Compose, se Använda profiler med Compose.
Förutsättningar
- Visual Studio 2019 version 16.10 eller senare
- En .NET-lösning med Container Orchestration med Docker Compose
- Visual Studio
- En .NET-lösning med Container Orchestration med Docker Compose
Hantera startinställningar
Överväg följande Docker Compose-projekt där docker-compose.yml har fem tjänster och tre Compose-profiler (webb, web1 och 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
Det finns några alternativ för att öppna dialogrutan Docker Compose-startinställningar:
I Visual Studio väljer du Felsöka>Hantera Startinställningar för Docker Compose:
Högerklicka på Visual Studio
docker-compose-projektet och välj Hantera Startinställningar för Docker Compose
Använd snabbstarten (Ctrl+Q) och sök efter Docker Compose- för att hitta samma kommando.
I exemplet nedan är profilen web1 Compose markerad, vilket filtrerar listan Services till endast de tre av fem som ingår i profilen:
Not
Avsnittet Docker Compose-profiler visas bara om det finns profiler som definierats i dina docker-compose.yml filer.
I nästa exempel visas hur du väljer mellan enskilda tjänster i stället för att filtrera till tjänsterna i en Compose-profil. Här visar vi hur dialogrutan skulle se ut om du skapade en ny startprofil med namnet test2 som bara startar två av de fem tjänsterna, webapplication1 med felsökning och webapplication2 utan felsökning. Den här startprofilen startar också en webbläsare när programmet startar och öppnar den på startsidan för webapplication1.
Och den här informationen sparas i launchSettings.json enligt nedan
{
"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}"
}
}
}
Skapa en startprofil som använder en Docker Compose-profil
Du kan också ytterligare anpassa startbeteenden genom att skapa Visual Studio-startprofiler som använder Sig av Compose-profilerna.
Om du vill skapa en annan profil som använder Sig av Compose-profilen väljer du Använd Docker Compose-profiler och väljer web1. Nu innehåller startprofilen tre tjänster: webapplication1 (som tillhör både web- och web1 Compose-profiler), external1och external2. Som standard har tjänsterna utan källkod som external1 och external2 standardåtgärden Starta utan att felsöka. .NET-program med källkod som standard Börja felsöka.
Viktig
Om en tjänst inte specificerar en Compose-profil inkluderas den implicit i alla Compose-profiler.
Den här informationen sparas enligt följande kod. Konfigurationen för tjänsten och dess standardåtgärd sparas inte om du inte ändrar standardåtgärden.
{
"profiles": {
"test1": {
"commandName": "DockerCompose",
"composeProfile": {
"includes": [
"web1"
]
},
"commandVersion": "1.0"
}
}
}
Du kan också ändra åtgärden webapplication1 till Starta utan att felsöka. Inställningarna i launchSettings.json ser sedan ut som följande kod:
{
"profiles": {
"test1": {
"commandName": "DockerCompose",
"composeProfile": {
"includes": [
"web1"
],
"serviceActions": {
"webapplication1": "StartWithoutDebugging"
}
},
"commandVersion": "1.0"
}
}
}
Egenskaper
Här är en beskrivning av varje egenskap i launchSettings.json:
| Egenskap | Beskrivning |
|---|---|
| commandName | Namnet på kommandot. Standardvärdet är "DockerCompose" |
| commandVersion | Versionsnummer som används för att hantera schemat för DockerCompose-startprofilen. |
| skapaProfil | Överordnad egenskap som definierar startprofildefinitionen. Dess underordnade egenskaper är includes och serviceActions |
| composeProfile – innehåller | Lista över de Compose-profilnamn som utgör en startprofil. |
| komponeraProfil – tjänståtgärder | Visar de valda Compose-profilerna, tjänsterna och startåtgärden för varje tjänst |
| serviceåtgärder | Visar en lista över de valda tjänsterna och startåtgärden. |
| composeLaunchAction | Anger den startåtgärd som ska utföras på F5 eller Ctrl+F5. Tillåtna värden är None, LaunchBrowser och LaunchWCFTestClient. |
| skapaStartURL | Url:en som ska användas när webbläsaren startas. Giltiga ersättningstoken är {ServiceIPAddress}, {ServicePort} och {Scheme}. Exempel: {Scheme}://{ServiceIPAddress}:{ServicePort} |
| SammansättLanstjänstNamn | Anger den tjänst som används för att ersätta token i composeLaunchUrl. |