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 Debug>Manage Docker Compose Launch Settings:

    Schermafbeelding van het menu-item Instellingen voor opstellen beheren

    Schermafbeelding van het menu-item Opstellen instellingen 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 begint, en deze wordt geopend op de startpagina van webapplication1.

Schermafbeelding van het dialoogvenster startinstellingen waarbij sommige services zijn uitgevinkt

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 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:

Vastgoed Beschrijving
commandName Naam van de opdracht. Standaardwaarde 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 kindeigenschappen zijn includes en serviceActions
composeProfile - bevat Lijst met Compose-profielnamen die deel uitmaken van een startprofiel.
composeProfile - serviceActions Toont een lijst van de geselecteerde Compose-profielen, services en de startactie van elke service.
serviceActions Hiermee worden de geselecteerde services en de startactie weergegeven.
composeLaunchAction Hiermee geeft u 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 Geeft de service op die wordt gebruikt voor het vervangen van de tokens in composeLaunchUrl.