Bagikan melalui


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

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:

    Cuplikan layar item menu Debug Kelola Buat Pengaturan

    Cuplikan layar item menu Debug Kelola Buat Pengaturan

  • Klik kanan pada proyek Visual Studio docker-compose lalu pilih Kelola Pengaturan Peluncuran Docker Compose

    Cuplikan layar item menu konteks

    Cuplikan layar item menu konteks

  • Gunakan 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.

Cuplikan layar dialog pengaturan peluncuran dengan beberapa layanan tidak dipilih

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.

Cuplikan layar dialog pengaturan peluncuran dengan profil lain yang dibuat

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.