Meluncurkan subset layanan Compose
Jika Anda memiliki aplikasi yang terdiri dari beberapa layanan dan menggunakan Docker Compose, Anda dapat mengonfigurasi layanan mana yang berjalan dan men-debug dengan membuat atau mengedit profil peluncuran yang sudah ada di pengaturan peluncuran Docker Compose. Peluncuran profil memungkinkan Anda secara dinamis menjalankan layanan yang penting saja untuk skenario Anda saat ini. Anda dapat membuat dan memilih dari profil peluncuran untuk menyesuaikan pengalaman penelusuran kesalahan Anda dan mengatur tindakan peluncuran tertentu seperti Browser Launch URL
. Anda juga akan memiliki opsi untuk memilih setiap layanan satu per satu atau dengan memilih profil Docker Compose. Profil ini juga akan melihat file Compose Anda untuk menentukan grup layanan yang akan dijalankan.
Untuk informasi tentang profil Docker Compose, lihat Menggunakan profil dengan Compose.
Prasyarat
- Visual Studio 2019 versi 16.10 atau lebih baru
- Solusi .NET dengan Orkestrasi Kontainer dengan Docker Compose
- Visual Studio 2022 atau Visual Studio 2019 versi 16.10 atau lebih baru
- Solusi .NET dengan Orkestrasi Kontainer dengan Docker Compose
Mengelola pengaturan peluncuran
Pertimbangkan proyek Docker Compose berikut di mana docker-compose.yml memiliki lima layanan dan tiga profil Compose (web, web1, dan 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
Ada beberapa opsi untuk membuka dialog pengaturan peluncuran Docker Compose:
Di Visual Studio, pilih Debug>Kelola Pengaturan Peluncuran Docker Compose:
Klik kanan pada proyek Visual Studio
docker-compose
lalu pilih Kelola Pengaturan Peluncuran Docker ComposeGunakan Luncur Cepat (Ctrl+Q) lalu cari Docker Compose untuk menemukan perintah yang sama.
Dalam contoh di bawah, profil Compose web1
dipilih, yang memfilter daftar Layanan hanya untuk tiga dari lima yang disertakan dalam profil tersebut:
Catatan
Bagian profil Docker Compose hanya muncul jika ada profil yang ditentukan dalam file docker-compose.yml Anda.
Contoh berikutnya menunjukkan cara memilih antara setiap layanan alih-alih memfilter layanan di profil Compose. Di sini, kami menunjukkan tampilan dialog jika Anda membuat profil peluncuran baru bernama test2
yang hanya akan memulai dua dari lima layanan, webapplication1
dengan penelusuran kesalahan dan webapplication2
tanpa penelusuran kesalahan. Profil peluncuran ini juga meluncurkan browser ketika aplikasi dimulai dan membukanya ke halaman beranda webapplication1
.
Dan informasi ini akan disimpan di launchSettings.json seperti yang ditunjukkan di bawah
{
"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}"
}
}
}
Membuat profil peluncuran yang menggunakan profil Docker Compose
Anda juga dapat menyesuaikan perilaku peluncuran lebih lanjut dengan membuat profil peluncuran Visual Studio yang memanfaatkan profil Compose.
Untuk membuat profil lain yang memanfaatkan profil Compose, pilih Gunakan profil Docker Compose lalu pilih web1
. Sekarang profil peluncuran mencakup tiga layanan - webapplication1
(yang mencakup kedua profil Compose web
dan web1
), external1
, dan external2
. Secara default, layanan tanpa kode sumber seperti external1
dan external2
memiliki tindakan default yaitu Mulai tanpa penelusuran kesalahan. Aplikasi .NET dengan kode sumber akan memiliki tindakan default yaitu Mulai penelusuran kesalahan.
Penting
Layanan yang tidak menentukan profil Compose akan disertakan dalam semua profil Compose secara implisit.
Informasi ini akan disimpan seperti yang ditunjukkan dalam kode berikut. Konfigurasi untuk layanan dan tindakan default-nya tidak akan disimpan kecuali Anda mengubah tindakan default-nya.
{
"profiles": {
"test1": {
"commandName": "DockerCompose",
"composeProfile": {
"includes": [
"web1"
]
},
"commandVersion": "1.0"
}
}
}
Anda juga dapat mengubah tindakan webapplication1 menjadi Mulai tanpa penelusuran kesalahan. Kemudian, pengaturan di launchSettings.json akan terlihat seperti kode berikut:
{
"profiles": {
"test1": {
"commandName": "DockerCompose",
"composeProfile": {
"includes": [
"web1"
],
"serviceActions": {
"webapplication1": "StartWithoutDebugging"
}
},
"commandVersion": "1.0"
}
}
}
Properti
Berikut adalah deskripsi setiap properti di launchSettings.json:
Properti | Deskripsi |
---|---|
commandName | Nama perintah. Default ke "DockerCompose" |
commandVersion | Nomor versi yang digunakan untuk mengelola skema profil peluncuran DockerCompose. |
composeProfile | Properti induk yang menentukan definisi profil peluncuran. Properti turunannya adalah includes dan serviceActions |
composeProfile - mencakup | Daftar nama profil Compose yang membentuk profil peluncuran. |
composeProfile - serviceActions | Mencantumkan profil, layanan, dan tindakan peluncuran Compose dari setiap layanan yang dipilih |
serviceActions | Mencantumkan layanan yang dipilih dan tindakan peluncuran. |
composeLaunchAction | Menentukan tindakan peluncuran yang akan dilakukan dengan menekan F5 atau Ctrl+F5. Nilai yang diizinkan adalah None, LaunchBrowser, dan LaunchWCFTestClient. |
composeLaunchUrl | URL yang digunakan saat meluncurkan browser. Token pengganti yang valid adalah "{ServiceIPAddress}", "{ServicePort}", dan "{Scheme}". Misalnya: {Scheme}://{ServiceIPAddress}:{ServicePort} |
composeLaunchServiceName | Menentukan layanan yang digunakan untuk mengganti token di composeLaunchUrl. |
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk