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 URL
belirli 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
- Visual Studio 2019 sürüm 16.10 veya üzeri
- Docker Compose ile Container Orchestration ile bir .NET çözümü
- Visual Studio 2022 veya Visual Studio 2019 sürüm 16.10 veya üzeri
- Docker Compose ile Container Orchestration 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 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:
Visual Studio
docker-compose
projesine sağ tıklayın ve Docker Compose Başlatmayı Yönet Ayarlar'ı seçinHı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 webapplication1
açar.
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.
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. |