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. Uruchamianie profilów umożliwia dynamiczne uruchamianie tylko usług, 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ć pojedynczo każdą usługę lub wybrać profil narzędzia Docker Compose, który również przyjrzy się plikowi Compose, aby określić grupę usług do uruchomienia.

Aby uzyskać informacje o profilach narzędzia Docker Compose, zobacz Using profiles with Compose (Używanie profilów za pomocą narzędzia Compose).

Wymagania 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 redagowania (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ę Debuguj>zarządzaj programem Docker Compose Launch Ustawienia:

    Zrzut ekranu przedstawiający element menu Zarządzaj redagowaniem Ustawienia

    Zrzut ekranu przedstawiający element menu Zarządzaj redagowaniem Ustawienia

  • Kliknij prawym przyciskiem myszy projekt programu Visual Studio docker-compose i wybierz polecenie Zarządzaj programem Docker Compose Launch Ustawienia

    Zrzut ekranu przedstawiający element menu kontekstowego

    Zrzut ekranu przedstawiający element menu kontekstowego

  • Użyj szybkiego uruchamiania (Ctrl+Q) i wyszukaj ciąg Docker Compose , aby znaleźć to samo polecenie.

W poniższym web1 przykładzie wybrano profil Redagowanie, który filtruje listę Usługi tylko do trzech z pięciu uwzględnionych w tym profilu:

Uwaga

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 redagowania. 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 z webapplication1 debugowaniem i webapplication2 bez debugowania. Ten profil uruchamiania uruchamia również przeglądarkę po uruchomieniu aplikacji i otwarciu jej na stronę główną programu webapplication1.

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

Te informacje zostaną zapisane podczas uruchamiania Ustawienia.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 redagowania.

Aby utworzyć inny profil korzystający z profilu redagowania, 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 i web Redaguj) external1 i web1external2. 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 będą domyślnie uruchamiać debugowanie.

Ważne

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

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

Te informacje zostaną zapisane, 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ę aplikacji internetowej1 na Uruchom bez debugowania. Ustawienia podczas uruchamiania Ustawienia.json następnie wyglądają jak następujący kod:

{
  "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 uruchomieniu Ustawienia.json:

Właściwości opis
Commandname Nazwa polecenia. Wartość domyślna to "DockerCompose"
commandVersion Numer wersji używany do zarządzania schematem profilu uruchamiania platformy DockerCompose.
composeProfile Właściwość nadrzędna, która definiuje definicję profilu uruchamiania. Jej właściwości podrzędne to includes i serviceActions
composeProfile — dołącza Lista nazw profilów redagowania tworzących profil uruchamiania.
composeProfile — serviceActions Wyświetla listę wybranych profilów, usług i akcji uruchamiania każdej usługi
serviceActions Wyświetla listę wybranych usług i akcję uruchamiania.
composeLaunchAction Określa akcję uruchamiania do wykonania na klawiszu 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.