Udostępnij za pośrednictwem


Nawiązywanie połączenia z konsolą debugowania kontenera w usłudze Azure Container Apps

Platforma Azure Container Apps oferuje konsolę debugowania, która ułatwia rozwiązywanie problemów z aplikacją w następujących okolicznościach:

  • Nie można nawiązać połączenia z kontenerem docelowym, gdy używasz kontenera, który zawiera tylko aplikację i jej zależności środowiska uruchomieniowego lub obraz "bez dystrybucji".
  • W przypadku napotkania problemów z siecią obrazy nie mają narzędzi debugowania do ich zbadania.

Możesz nawiązać połączenie z konsolą debugowania przy użyciu interfejsu wiersza polecenia platformy Azure.

Uwaga

Konsola debugowania tworzy oddzielny kontener, który udostępnia bazowe zasoby kontenerowi, w którym jest uruchomiona aplikacja. Jeśli kontener debugowania już istnieje, konsola debugowania ponownie używa istniejącego, zamiast tworzyć nowe. Istnieje co najwyżej jeden uruchomiony kontener debugowania na replikę aplikacji kontenera. Jeśli nie musisz utrzymywać działania kontenera debugowania, wprowadź polecenie Exit lub użyj Ctrl/Cmd + D w sesji konsoli debugowania.

Interfejs wiersza polecenia platformy Azure

Aby nawiązać połączenie z kontenerem w konsoli debugowania, użyj az containerapp debug polecenia . Aby zamknąć konsolę, wprowadź Exit lub użyj Ctrl/Cmd + D.

Na przykład nawiąż połączenie z konsolą debugowania kontenera w aplikacji kontenera za pomocą jednego kontenera przy użyciu następującego polecenia. Przed uruchomieniem tego polecenia zastąp wartościami <PLACEHOLDERS> aplikacji kontenera.

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

Aby nawiązać połączenie z konsolą debugowania kontenera w aplikacji kontenera z wieloma poprawkami, replikami i kontenerami, dołącz następujące parametry w poleceniu az containerapp debug .

Argument opis
--revision Nazwa poprawki kontenera do debugowania.
--replica Nazwa repliki kontenera do debugowania.
--container Nazwa kontenera do debugowania.

Nazwy poprawek można uzyskać za az containerapp revision list pomocą polecenia . Przed uruchomieniem tego polecenia zastąp wartościami <PLACEHOLDERS> aplikacji kontenera.

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

Użyj polecenia , az containerapp replica list aby uzyskać nazwy repliki i kontenerów. Przed uruchomieniem tego polecenia zastąp wartościami <PLACEHOLDERS> aplikacji kontenera.

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

Połącz się z konsolą debugowania kontenera za az containerapp debug pomocą polecenia . Przed uruchomieniem tego polecenia zastąp wartościami <PLACEHOLDERS> aplikacji kontenera.

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

Wbudowane narzędzia w konsoli debugowania

Następujące narzędzia diagnostyczne są wstępnie zainstalowane w konsoli debugowania, aby ułatwić rozwiązywanie problemów:

Jeśli chcesz zainstalować inne narzędzia, uruchom tdnf install -y <TOOL_NAME> polecenie . Przed uruchomieniem tego polecenia zastąp wartościami <PLACEHOLDERS> aplikacji kontenera.

Na przykład zainstaluj zestaw JDK w konsoli debugowania przy użyciu następującego polecenia:

tdnf install -y msopenjdk-17

Scenariusz — uzyskiwanie dostępu do systemu plików kontenera za pomocą konsoli debugowania

Domyślnie konsola debugowania jest uruchamiana jako użytkownik główny.

Dostęp do systemu plików kontenera można uzyskać /proc/1 , jeśli kontener działa jako użytkownik główny. Jeśli kontener nie działa jako użytkownik główny, uruchom poniższe polecenie, aby przełączyć użytkownika przed uzyskaniem dostępu do /proc/1 katalogu lub otrzymasz błąd odmowy uprawnień.

switch-user