Delen via


Een subset van Compose-services starten

Als u een toepassing hebt die uit meerdere services bestaat en Docker Compose gebruikt, kunt u configureren welke services worden uitgevoerd en fouten opsporen door een bestaand startprofiel te maken of te bewerken in de startinstellingen van Docker Compose. Met startprofielen kunt u alleen de services die van belang zijn voor uw huidige scenario dynamisch uitvoeren. U kunt profielen maken en selecteren om uw foutopsporingservaring aan te passen en specifieke startacties in te stellen, zoals Browser Launch URL. U hebt ook de mogelijkheid om elke service afzonderlijk te kiezen of door een Docker Compose-profiel te kiezen, waarmee u ook uw Compose-bestand bekijkt om de groep services te bepalen die moeten worden uitgevoerd.

Zie Profielen gebruiken met Composevoor meer informatie over Docker Compose-profielen.

Voorwaarden

Startinstellingen beheren

Overweeg het volgende Docker Compose-project waarin de docker-compose.yml vijf services en drie Compose-profielen (web, web1 en web2) heeft.

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

Er zijn enkele opties om het dialoogvenster instellingen voor het starten van Docker Compose te openen:

  • Kies in Visual Studio de optie Debug>Beheer Docker Compose-startinstellingen:

    Schermafbeelding van het menu-item Instellingen voor Debug Beheren

    Schermafbeelding van het menu-item Instellingen voor Debug Beheren

  • Klik met de rechtermuisknop op het project van Visual Studio docker-compose en selecteer Startinstellingen voor Docker Compose beheren

    Schermopname van het contextmenu-item

    Schermopname van het contextmenu-item

  • Gebruik snel starten (Ctrl+Q) en zoek naar Docker Compose- om dezelfde opdracht te vinden.

In het onderstaande voorbeeld wordt het web1 Compose-profiel geselecteerd, waarmee de Services lijst wordt gefilterd op slechts de drie van de vijf die in dat profiel zijn opgenomen:

Notitie

De sectie Docker Compose-profielen wordt alleen weergegeven als er profielen zijn gedefinieerd in uw docker-compose.yml-bestanden.

In het volgende voorbeeld wordt het selecteren tussen afzonderlijke services gedemonstreerd in plaats van te filteren op de services in een Compose-profiel. Hier ziet u hoe het dialoogvenster eruit zou zien als u een nieuw startprofiel hebt gemaakt met de naam test2 dat slechts twee van de vijf services start, webapplication1 met foutopsporing en webapplication2 zonder foutopsporing. Met dit startprofiel wordt ook een browser gestart wanneer de toepassing wordt gestart en geopend op de startpagina van webapplication1.

Schermafbeelding van het dialoogvenster startinstellingen met enkele uitgeschakelde services

En deze informatie wordt opgeslagen in launchSettings.json zoals hieronder wordt weergegeven

{
    "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}"
      }
   }
}

Een startprofiel maken dat gebruikmaakt van een Docker Compose-profiel

U kunt ook het startgedrag verder aanpassen door Visual Studio-startprofielen te maken die gebruikmaken van de Compose-profielen.

Als u een ander profiel wilt maken dat gebruikmaakt van het Compose-profiel, selecteert u Docker Compose-profielen gebruiken en kiest u web1. Het startprofiel bevat nu drie services: webapplication1 (die deel uitmaakt van profielen voor zowel web als web1 Opstellen), external1en external2. Standaard hebben de services zonder broncode, zoals external1 en external2 de standaardactie van Starten zonder foutopsporing. .NET-toepassingen met broncode worden standaard ingesteld op foutopsporingstarten.

Belangrijk

Als een service geen Compose-profiel opgeeft, wordt dit impliciet opgenomen in alle Compose-profielen.

Schermafbeelding van het dialoogvenster voor startinstellingen met een ander profiel dat is aangemaakt

Deze informatie wordt opgeslagen zoals weergegeven in de volgende code. De configuratie voor de service en de standaardactie worden niet opgeslagen, tenzij u de standaardactie wijzigt.

{
  "profiles": {
    "test1": {
      "commandName": "DockerCompose",
      "composeProfile": {
         "includes": [
            "web1"
         ]
      },
      "commandVersion": "1.0"
    }
  }
}

U kunt ook de actie van webtoepassing1 wijzigen in Starten zonder debuggen. De instellingen in launchSettings.json er vervolgens uitzien als de volgende code:

{
  "profiles": {
    "test1": {
        "commandName": "DockerCompose",
        "composeProfile": {
          "includes": [
              "web1"
              ],
          "serviceActions": {
              "webapplication1": "StartWithoutDebugging"
          }
        },
    "commandVersion": "1.0"
    }
  }
}

Eigenschappen

Hier volgt een beschrijving van elke eigenschap in de launchSettings.json:

Eigenschap Beschrijving
commandName Naam van de opdracht. De standaardinstelling is "DockerCompose"
commandVersion Versienummer dat wordt gebruikt voor het beheren van het schema van het DockerCompose-startprofiel.
composeProfile Bovenliggende eigenschap waarmee de definitie van het startprofiel wordt gedefinieerd. De kind eigenschappen zijn includes en serviceActions
composeProfile - bevat Lijst van Compose-profielnamen die een startprofiel vormen.
composeProfile - serviceActions Lijst van de geselecteerde Compose-profielen, services en de opstartactie van elke service.
serviceActions Hiermee worden de geselecteerde services en de startactie weergegeven.
composeLaunchAction Specificeer de startactie die moet worden uitgevoerd op F5 of Ctrl+F5. Toegestane waarden zijn None, LaunchBrowser en LaunchWCFTestClient.
composeLaunchUrl De URL die moet worden gebruikt bij het starten van de browser. Geldige vervangingstokens zijn {ServiceIPAddress}, {ServicePort} en {Scheme}. Bijvoorbeeld: {Scheme}://{ServiceIPAddress}:{ServicePort}
composeLaunchServiceName Hiermee wordt de service gespecificeerd die wordt gebruikt voor het vervangen van de tokens in composeLaunchUrl.