Aracılığıyla paylaş


Compose hizmetlerinin bir alt kümesini başlatma

Birden çok hizmet içeren ve Docker Compose kullanan bir uygulamanız varsa, Docker Compose başlatma ayarlarında mevcut başlatma profilini oluşturarak veya düzenleyerek hangi hizmetlerin çalıştırıldığını ve hata ayıklanacağını yapılandırabilirsiniz. Başlatma profilleri, yalnızca geçerli senaryonuz için önemli olan hizmetleri dinamik olarak çalıştırmanıza olanak sağlar. Hata ayıklama deneyiminizi özelleştirmek ve Browser Launch URLgibi belirli başlatma eylemlerini ayarlamak için başlatma profilleri oluşturabilir ve bu profillerden seçim yapabilirsiniz. Ayrıca, her hizmeti tek tek veya çalıştırılacak hizmet grubunu belirlemek için Oluştur dosyanıza bakan bir Docker Compose profili seçerek de seçeneğiniz vardır.

Docker Compose profilleri hakkında bilgi için bkz. Docker Composeile profilleri kullanma .

Önkoşullar

  • Visual Studio
  • Docker Compose ile Kapsayıcı Düzenlemesi ile bir .NET çözümü

Başlatma ayarlarını yönetme

docker-compose.yml beş hizmetin ve üç Oluşturma profilinin (web, web1 ve web2) bulunduğu aşağıdaki Docker Compose projesini göz önünde bulundurun.

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

Docker Compose başlatma ayarları iletişim kutusunu açmak için birkaç seçenek vardır:

  • Visual Studio'da Hata Ayıklama>Docker Compose Başlatma Ayarlarını Yönet'i seçin:

    Hata Ayıklama Ayarlarını Yönetme menü öğesinin ekran görüntüsü

  • Visual Studio docker-compose projesine sağ tıklayın ve Docker Compose Başlatma Ayarlarını Yönet seçin

    Bağlam menüsü öğesinin ekran görüntüsü

  • Hızlı Başlat (Ctrl+Q) kullanın ve aynı komutu bulmak için Docker Compose arayın.

Aşağıdaki örnekte, profilde dahil edilen beş hizmetten yalnızca üçünü gösterecek şekilde web1 listesini filtreleyen Oluştur profili seçildi.

"Başlatma ayarları iletişim kutusunun ekran görüntüsü""Screenshot of launch settings dialog box""Screenshot of launch settings dialog box"

Not

Docker Compose profilleri bölümü yalnızca docker-compose.yml dosyalarınızda tanımlanmış profiller varsa görüntülenir.

Sonraki örnekte, Oluşturma profilindeki hizmetlere filtre uygulamak yerine tek tek hizmetler arasında seçim yapmak gösterilmektedir. Burada, beş hizmetten yalnızca ikisini başlatan test2 adlı yeni bir başlatma profili oluşturduğunuzda, hata ayıklama ile webapplication1 ve hata ayıklama olmadan webapplication2 iletişim kutusunun nasıl görüneceğini göstereceğiz. Bu başlatma profili ayrıca uygulama başlatıldığında bir tarayıcı başlatır ve webapplication1giriş sayfasına açar.

Bazı hizmetlerin seçimi kaldırıldığı başlatma ayarları iletişim kutusunun ekran görüntüsü

Bu bilgiler aşağıda gösterildiği gibi launchSettings.json kaydedilir

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

Docker Compose profili kullanan bir başlatma profili oluşturun

Ayrıca Compose profillerinden yararlanan Visual Studio çalıştırma profilleri oluşturarak çalıştırma davranışlarını daha da özelleştirebilirsiniz.

Oluştur profilini kullanan başka bir profil oluşturmak için Docker Compose profillerini kullan seçin ve web1seçin. Şimdi başlatma profili üç hizmet içerir: webapplication1 (hem web hem de web1 Oluşturma profillerine aittir), external1ve external2. Varsayılan olarak, external1 ve external2 gibi kaynak kodu olmayan hizmetler, hata ayıklamadanBaşlat varsayılan eylemine sahiptir. Kaynak koduna sahip .NET uygulamaları varsayılan olarak Hata ayıklamayı başlat.

Önemli

Bir hizmet bir Compose profili belirtmezse, tüm Compose profillerine otomatik olarak eklenir.

Başka bir profilin oluşturulduğu başlatma ayarları iletişim kutusunun ekran görüntüsü

Bu bilgiler aşağıdaki kodda gösterildiği gibi kaydedilir. Varsayılan eylemi değiştirmediğiniz sürece hizmetin yapılandırması ve varsayılan eylemi kaydedilmez.

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

Ayrıca webapplication1 eylemini hata ayıklamadan başlatolarak da değiştirebilirsiniz. ardından launchSettings.json ayarları aşağıdaki koda benzer:

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

Özellikler

launchSettings.jsonher özelliğin açıklaması aşağıdadır:

Mülk Açıklama
komut adı Komutun adı. Varsayılan olarak "DockerCompose" kullanılır
Komut Sürümü DockerCompose başlatma profilinin şemasını yönetmek için kullanılan sürüm numarası.
profil oluştur Başlatma profili tanımını tanımlayan üst özellik. Alt özellikleri includes ve serviceActions
composeProfile - içerir Başlatma profilini oluşturan Compose profil adlarının listesi.
composeProfile - hizmetEylemleri Seçilen Compose ayarlarını, hizmetleri ve her bir hizmetin başlatma eylemini listeler
serviceActions Seçili hizmetleri ve başlatma eylemini listeler.
composeLaunchAction F5 veya Ctrl+F5üzerinde gerçekleştirilecek başlatma eylemini belirtir. İzin verilen değerler None, LaunchBrowser ve LaunchWCFTestClient değerleridir.
başlatmaURLoluştur Tarayıcı başlatılırken kullanılacak URL. Geçerli değiştirme belirteçleri şunlardır: "{ServiceIPAddress}", "{ServicePort}" ve "{Scheme}". Örneğin: {Scheme}://{ServiceIPAddress}:{ServicePort}
oluşturBaşlatmaServisAdı composeLaunchUrl içindeki belirteçleri değiştirmek için kullanılan hizmeti belirtir.