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 gibi Browser Launch URLbelirli başlatma eylemlerini ayarlamak için başlatma profilleri oluşturabilir ve bu profillerden seçim yapabilirsiniz. Ayrıca, her bir hizmeti ayrı ayrı veya bir Docker Compose profili seçerek çalıştırılacak hizmet grubunu belirlemek için Oluştur dosyanıza da bakabilirsiniz.

Docker Compose profilleri hakkında bilgi için bkz . Oluşturma ile profilleri kullanma.

Önkoşullar

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 Oluşturma başlatma ayarları iletişim kutusunu açmak için birkaç seçenek vardır:

  • Visual Studio'da Docker Oluşturma Başlatma Ayarlar Hata Ayıkla'yı>seçin:

    Hata Ayıklama Oluşturmayı Yönet Ayarlar menü öğesinin ekran görüntüsü

    Hata Ayıklama Oluşturmayı Yönet Ayarlar menü öğesinin ekran görüntüsü

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

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

    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'u arayın.

Aşağıdaki örnekte, web1 Hizmetler listesini bu profile dahil edilen beşten yalnızca üçüne filtreleyen Oluştur profili seçilidir:

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, hata ayıklamayla ve webapplication2 hata ayıklama olmadan adlı test2 yeni bir başlatma profili oluşturduğunuzda iletişim webapplication1 kutusunun nasıl görüneceğini göstereceğiz. Bu başlatma profili, uygulama başlatıldığında bir tarayıcı başlatır ve giriş sayfasına webapplication1aç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 Ayarlar.json başlatmada 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şturma

Ayrıca Oluşturma profillerinden yararlanan Visual Studio başlatma profilleri oluşturarak başlatma 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 öğesini seçin web1. Şimdi başlatma profili üç hizmet içerir : webapplication1 (hem hem de web1 web Oluşturma profillerine aittir) external1 ve external2. Varsayılan olarak, ve gibi external1 external2 kaynak kodu olmayan hizmetler hata ayıklama olmadan başlat varsayılan eylemine sahiptir. Kaynak kodu olan .NET uygulamaları varsayılan olarak Hata ayıklamayı başlat'tır.

Önemli

Bir hizmet Oluşturma profili belirtmezse, tüm Oluşturma profillerine örtük 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ıklama olmadan başlat olarak da değiştirebilirsiniz. Başlatma ayarları Ayarlar.json ardından aşağıdaki koda benzer:

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

Properties

Başlatmadaki her özelliğin açıklaması aşağıdadır Ayarlar.json:

Özellik Açıklama
Commandname Komutun adı. Varsayılan olarak "DockerCompose" kullanılır
commandVersion DockerCompose başlatma profilinin şemasını yönetmek için kullanılan sürüm numarası.
composeProfile Başlatma profili tanımını tanımlayan üst özellik. Alt özellikleri şunlardır includes : ve serviceActions
composeProfile - içerir Başlatma profilini oluşturan Profil oluşturma adlarının listesi.
composeProfile - serviceActions Seçilen Profilleri, hizmetleri ve her 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.
composeLaunchUrl 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}
composeLaunchServiceName composeLaunchUrl içindeki belirteçleri değiştirmek için kullanılan hizmeti belirtir.