Připojení ke konzole ladění kontejneru v Azure Container Apps
Platforma Azure Container Apps nabízí konzolu ladění, která vám pomůže s řešením potíží s aplikací za následujících okolností:
- K cílovému kontejneru se nemůžete připojit, když použijete kontejner, který obsahuje pouze aplikaci a její závislosti modulu runtime, nebo image bez distribuce.
- Pokud narazíte na problémy se sítí, vaše image nemají nástroje pro ladění, které by je mohly prozkoumat.
Ke konzole ladění se můžete připojit pomocí Azure CLI.
Poznámka:
Konzola ladění vytvoří samostatný kontejner, který sdílí podkladové prostředky s kontejnerem, na kterém je vaše aplikace spuštěná. Pokud už kontejner ladění existuje, konzola ladění znovu použije existující kontejner místo vytvoření nového. Pro každou repliku aplikace kontejneru existuje maximálně jeden spuštěný kontejner ladění. Pokud nepotřebujete udržovat kontejner ladění spuštěný, zadejte ukončení nebo použijte kombinaci kláves Ctrl/Cmd + D v relaci konzoly ladění.
Azure CLI
K připojení ke kontejneru konzoly ladění použijte az containerapp debug
příkaz. Konzolu ukončíte tak, že přejdete na konec nebo použijete kombinaci kláves Ctrl/Cmd + D.
Připojte se například ke konzole ladění kontejneru v aplikaci kontejneru pomocí jednoho kontejneru pomocí následujícího příkazu. Před spuštěním tohoto příkazu nahraďte <PLACEHOLDERS>
hodnoty vaší aplikace kontejneru.
az containerapp debug \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP>
Pokud se chcete připojit ke konzole ladění kontejneru v aplikaci kontejneru s několika revizemi, replikami a kontejnery, do příkazu zahrňte následující parametry az containerapp debug
.
Argument | Popis |
---|---|
--revision |
Název revize kontejneru, který se má ladit. |
--replica |
Název repliky kontejneru, který se má ladit. |
--container |
Název kontejneru, který se má ladit. |
Názvy revizí můžete získat pomocí az containerapp revision list
příkazu. Před spuštěním tohoto příkazu nahraďte <PLACEHOLDERS>
hodnoty vaší aplikace kontejneru.
az containerapp revision list \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--query "[].name"
az containerapp replica list
Pomocí příkazu získejte názvy replik a kontejnerů. Před spuštěním tohoto příkazu nahraďte <PLACEHOLDERS>
hodnoty vaší aplikace kontejneru.
az containerapp replica list \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--revision <REVISION_NAME> \
--query "[].{Containers:properties.containers[].name, Name:name}"
Připojte se ke konzole ladění kontejneru az containerapp debug
pomocí příkazu. Před spuštěním tohoto příkazu nahraďte <PLACEHOLDERS>
hodnoty vaší aplikace kontejneru.
az containerapp debug \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--revision <REVISION_NAME> \
--replica <REPLICA_NAME> \
--container <CONTAINER_NAME>
Integrované nástroje v konzole ladění
Následující diagnostické nástroje jsou předinstalované do konzoly ladění, které vám pomůžou řešit problémy:
- nástroje ip-utils
- net-tools
- procps
- lsof
- util-linux
- Nc
- wget
- openssl
- traceroute
- ca-certificates
- bind-utils
- tcpping
Pokud chcete nainstalovat další nástroje, spusťte tdnf install -y <TOOL_NAME>
příkaz. Před spuštěním tohoto příkazu nahraďte <PLACEHOLDERS>
hodnoty vaší aplikace kontejneru.
Například nainstalujte sadu JDK do konzoly ladění pomocí následujícího příkazu:
tdnf install -y msopenjdk-17
Scénář – Přístup k systému souborů kontejneru prostřednictvím konzoly ladění
Ve výchozím nastavení se konzola ladění spouští jako uživatel root.
Přístup k systému souborů kontejneru můžete získat /proc/1
, pokud váš kontejner běží jako uživatel root. Pokud se váš kontejner nespustí jako uživatel root, spusťte následující příkaz a před přístupem k /proc/1
adresáři přepněte uživatele nebo se zobrazí chyba odepření oprávnění.
switch-user