Udostępnij za pośrednictwem


Uruchamianie podzbioru usług Compose

Jeśli masz aplikację składającą się z wielu usług i używasz narzędzia Docker Compose, możesz skonfigurować, które usługi są uruchamiane i debugowane, tworząc lub edytując istniejący profil uruchamiania w ustawieniach uruchamiania narzędzia Docker Compose. Profile uruchamiania pozwalają dynamicznie uruchamiać tylko usługi, które mają znaczenie dla bieżącego scenariusza. Możesz utworzyć i wybrać z profilów uruchamiania, aby dostosować środowisko debugowania i ustawić określone akcje uruchamiania, takie jak Browser Launch URL. Możesz również wybrać każdą usługę indywidualnie lub wybierając profil narzędzia Docker Compose, który również sprawdza plik Compose, aby określić grupę usług do uruchomienia.

Aby uzyskać informacje o profilach narzędzia Docker Compose, zobacz Jak używać profili z Compose.

Warunki wstępne

Zarządzanie ustawieniami uruchamiania

Rozważmy następujący projekt narzędzia Docker Compose, w którym docker-compose.yml ma pięć usług i trzy profile Compose (web, web1 i 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

Istnieje kilka opcji otwierania okna dialogowego uruchamiania narzędzia Docker Compose:

  • W programie Visual Studio wybierz pozycję Debugowanie>Zarządzanie ustawieniami uruchamiania narzędzia Docker Compose:

    zrzut ekranu przedstawiający element menu Zarządzaj ustawieniami redagowania

    zrzut ekranu przedstawiający menu Zarządzaj ustawieniami redagowania

  • Kliknij prawym przyciskiem myszy projekt docker-compose programu Visual Studio i wybierz pozycję Zarządzaj ustawieniami uruchamiania narzędzia Docker Compose

    Zrzut ekranu przedstawiający element menu kontekstowego

    Zrzut ekranu przedstawiający element menu kontekstowego

  • Użyj "Szybkiego uruchamiania" (Ctrl+Q) i wyszukaj Docker Compose, aby znaleźć to samo polecenie.

W poniższym przykładzie został wybrany profil web1 Compose, który filtruje listę Services do tylko trzech z pięciu zawartych w tym profilu.

Notatka

Sekcja Profile narzędzia Docker Compose jest wyświetlana tylko wtedy, gdy istnieją profile zdefiniowane w plikach docker-compose.yml.

W następnym przykładzie pokazano wybór między poszczególnymi usługami zamiast filtrowania do usług w profilu Compose. W tym miejscu pokazano, jak wyglądałoby okno dialogowe, jeśli utworzono nowy profil uruchamiania o nazwie test2, który uruchamia tylko dwa z pięciu usług, webapplication1 z debugowaniem i webapplication2 bez debugowania. Ten profil uruchamiania uruchamia również przeglądarkę po uruchomieniu aplikacji, otwierając ją na stronę główną webapplication1.

Zrzut ekranu przedstawiający okno dialogowe ustawień uruchamiania z wybranymi usługami

Te informacje są zapisywane w launchSettings.json, jak pokazano poniżej

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

Tworzenie profilu uruchamiania korzystającego z profilu narzędzia Docker Compose

Możesz również dodatkowo dostosować zachowania uruchamiania, tworząc profile uruchamiania programu Visual Studio, które korzystają z profilów Compose.

Aby utworzyć inny profil korzystający z profilu Compose, wybierz pozycję Użyj profilów narzędzia Docker Compose i wybierz pozycję web1. Teraz profil uruchamiania obejmuje trzy usługi: webapplication1 (które należą do profilów web i web1 Compose), external1i external2. Domyślnie usługi bez kodu źródłowego, takie jak external1 i external2 mają domyślną akcję Uruchom bez debugowania. Aplikacje .NET z kodem źródłowym domyślnie Rozpocznij debugowanie.

Ważny

Jeśli usługa nie określi profilu Compose, zostanie niejawnie uwzględniona we wszystkich profilach Compose.

Zrzut ekranu przedstawiający okno dialogowe ustawień uruchamiania z innym profilem utworzonym

Te informacje są zapisywane, jak pokazano w poniższym kodzie. Konfiguracja usługi i jej akcji domyślnej nie są zapisywane, chyba że zmienisz akcję domyślną.

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

Możesz również zmienić akcję webapplication1 na Start bez debugowania. Ustawienia w launchSettings.json następnie wyglądają podobnie do następującego kodu:

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

Właściwości

Oto opis każdej właściwości w launchSettings.json:

Własność Opis
commandName Nazwa polecenia. Wartość domyślna to "DockerCompose"
commandVersion Numer wersji używany do zarządzania schematem profilu uruchamiania platformy DockerCompose.
złóżProfil Właściwość nadrzędna, która definiuje definicję profilu uruchamiania. Jego właściwości podrzędne są includes i serviceActions
composeProfile — dołącza Lista nazw profilów Compose, które tworzą profil uruchamiania.
composeProfile — serviceActions Wyświetla listę wybranych profilów Compose, usług i czynności uruchamiania każdej usługi
serviceActions Wyświetla listę wybranych usług i akcję uruchamiania.
composeLaunchAction Określa akcję uruchomienia, którą należy wykonać po naciśnięciu F5 lub Ctrl+F5. Dozwolone wartości to None, LaunchBrowser i LaunchWCFTestClient.
composeLaunchUrl Adres URL do użycia podczas uruchamiania przeglądarki. Prawidłowe tokeny zastępcze to "{ServiceIPAddress}", "{ServicePort}" i "{Scheme}". Na przykład: {Scheme}://{ServiceIPAddress}:{ServicePort}
composeLaunchServiceName Określa usługę używaną do zastępowania tokenów w pliku composeLaunchUrl.