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:
- ip-utils
- narzędzia net-tools
- procps
- lsof
- util-linux
- Nc
- wget
- openssl
- traceroute
- certyfikaty ca
- bind-utils
- tcpping
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