Bagikan melalui


Menyambungkan ke konsol debug kontainer di Azure Container Apps

Platform Azure Container Apps menawarkan konsol penelusuran kesalahan untuk membantu Anda memecahkan masalah aplikasi dalam keadaan berikut:

  • Anda tidak dapat terhubung ke kontainer target saat menggunakan kontainer yang hanya menyertakan aplikasi dan dependensi runtime-nya, atau gambar "distroless".
  • Saat mengalami masalah jaringan, gambar Anda tidak memiliki utilitas penelusuran kesalahan untuk menyelidikinya.

Anda dapat terhubung ke konsol debug menggunakan Azure CLI.

Catatan

Konsol debug membuat kontainer terpisah, yang berbagi sumber daya yang mendasar dengan kontainer tempat aplikasi Anda berjalan. Jika kontainer debug sudah ada, konsol debug menggunakan kembali kontainer yang sudah ada alih-alih membuat yang baru. Paling banyak ada satu kontainer debug yang berjalan per replika aplikasi kontainer. Jika Anda tidak perlu menjaga kontainer debug tetap berjalan, masukkan keluar atau gunakan Ctrl/Cmd + D di sesi konsol debug.

Azure CLI

Untuk menyambungkan ke kontainer konsol debug, gunakan az containerapp debug perintah . Untuk keluar dari konsol, masukkan keluar atau gunakan Ctrl/Cmd + D.

Misalnya, sambungkan ke konsol debug kontainer di aplikasi kontainer dengan satu kontainer menggunakan perintah berikut. Sebelum Anda menjalankan perintah ini, ganti <PLACEHOLDERS> dengan nilai aplikasi kontainer Anda.

az containerapp debug \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP>

Untuk menyambungkan ke konsol debug kontainer di aplikasi kontainer dengan beberapa revisi, replika, dan kontainer, sertakan parameter berikut dalam az containerapp debug perintah .

Argumen Deskripsi
--revision Nama revisi kontainer yang akan di-debug.
--replica Nama replika kontainer yang akan di-debug.
--container Nama kontainer kontainer yang akan di-debug.

Anda bisa mendapatkan nama revisi dengan az containerapp revision list perintah . Sebelum Anda menjalankan perintah ini, ganti <PLACEHOLDERS> dengan nilai aplikasi kontainer Anda.

az containerapp revision list \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --query "[].name"

az containerapp replica list Gunakan perintah untuk mendapatkan nama replika dan kontainer. Sebelum Anda menjalankan perintah ini, ganti <PLACEHOLDERS> dengan nilai aplikasi kontainer Anda.

az containerapp replica list \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --revision <REVISION_NAME> \
  --query "[].{Containers:properties.containers[].name, Name:name}"

Sambungkan ke konsol debug kontainer dengan az containerapp debug perintah . Sebelum Anda menjalankan perintah ini, ganti <PLACEHOLDERS> dengan nilai aplikasi kontainer Anda.

az containerapp debug \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --revision <REVISION_NAME> \
  --replica <REPLICA_NAME> \
  --container <CONTAINER_NAME> 

Alat bawaan di Konsol Debug

Alat diagnostik berikut telah diinstal sebelumnya ke konsol debug untuk membantu Anda memecahkan masalah:

Jika Anda ingin menginstal alat lain, jalankan tdnf install -y <TOOL_NAME> perintah . Sebelum Anda menjalankan perintah ini, ganti <PLACEHOLDERS> dengan nilai aplikasi kontainer Anda.

Misalnya, instal JDK di konsol debug menggunakan perintah berikut:

tdnf install -y msopenjdk-17

Skenario - Mengakses sistem file kontainer melalui Konsol Debug

Secara default, konsol debug berjalan sebagai pengguna root.

Anda dapat mengakses /proc/1 untuk mengakses sistem file kontainer jika kontainer Anda berjalan sebagai pengguna root. Jika kontainer Anda tidak berjalan sebagai pengguna root, jalankan perintah di bawah ini untuk beralih pengguna sebelum mengakses /proc/1 direktori, atau Anda akan mendapatkan kesalahan izin ditolak.

switch-user