Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Azure-Container-Apps-Plattform bietet eine Debugkonsole, die Ihnen bei der Problembehandlung Ihrer Anwendung unter den folgenden Umständen hilft:
- Sie können keine Verbindung zum Zielcontainer herstellen, wenn Sie einen Container verwenden, der nur die Anwendung und ihre Laufzeitabhängigkeiten enthält, oder ein „distroloses“ Image.
- Wenn Netzwerkprobleme auftreten, verfügen Ihre Bilder nicht über Debugging-Dienstprogramme, um sie zu untersuchen.
Sie können eine Verbindung mit der Debugkonsole über die Azure CLI herstellen.
Hinweis
Die Debugkonsole erstellt einen separaten Container, der die zugrunde liegenden Ressourcen mit dem Container teilt, in dem Ihre App ausgeführt wird. Wenn bereits ein Debugcontainer vorhanden ist, verwendet die Debugkonsole die vorhandene, anstatt eine neue zu erstellen. Es gibt höchstens einen laufenden Debug-Container pro Container-App-Replikat. Wenn Sie keinen Debugcontainer ausführen müssen, geben Sie Beenden ein, oder verwenden Sie STRG/CMD+D- in der Debugkonsolensitzung.
Azure-Befehlszeilenschnittstelle
Um eine Verbindung mit einem Container herzustellen, verwenden Sie den Befehl az containerapp debug. Um die Konsole zu beenden, geben Sie Beenden ein, oder verwenden Sie STRG/CMD +D.
Mit dem folgenden Befehl können Sie beispielsweise eine Verbindung mit einer Containerdebugkonsole in einer Container-App mit einem einzelnen Container herstellen. Ersetzen Sie vor dem Ausführen dieses Befehls die <PLACEHOLDERS> durch die Werte Ihrer Container-App.
az containerapp debug \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP>
Sie können eine Verbindung mit einer Containerdebugkonsole in einer Container-App mit mehreren Revisionen, Replikaten und Containern herstellen, indem Sie die folgenden Parameter in den Befehl az containerapp debug einschließen.
| Streitpunkt | Beschreibung |
|---|---|
--revision |
Der Überarbeitungsname des zu debuggenden Containers. |
--replica |
Der Replikatname des zu debuggenden Containers. |
--container |
Der Containername des zu debuggenden Containers. |
Sie können die Revisionsnamen mit dem Befehl az containerapp revision list abrufen. Ersetzen Sie vor dem Ausführen dieses Befehls die <PLACEHOLDERS> durch die Werte Ihrer Container-App.
az containerapp revision list \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--query "[].name"
Verwenden Sie den Befehl az containerapp replica list, um die Replikat- und Containernamen abzurufen. Ersetzen Sie vor dem Ausführen dieses Befehls die <PLACEHOLDERS> durch die Werte Ihrer Container-App.
az containerapp replica list \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--revision <REVISION_NAME> \
--query "[].{Containers:properties.containers[].name, Name:name}"
Stellen Sie mit dem Befehl az containerapp debug eine Verbindung mit der Containerdebugkonsole her. Ersetzen Sie vor dem Ausführen dieses Befehls die <PLACEHOLDERS> durch die Werte Ihrer Container-App.
az containerapp debug \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--revision <REVISION_NAME> \
--replica <REPLICA_NAME> \
--container <CONTAINER_NAME>
Integrierte Tools in der Debugkonsole
Die folgenden Diagnosetools sind in der Debugkonsole vorinstalliert, um Probleme zu beheben:
- ip-utils
- net-tools
- procps
- lsof
- util-linux
- NC
- Wget
- openssl
- traceroute
- ca-zertifikate
- bind-utils
- tcpping
Wenn Sie andere Tools installieren möchten, führen Sie den Befehl tdnf install -y <TOOL_NAME> aus. Ersetzen Sie vor dem Ausführen dieses Befehls die <PLACEHOLDERS> durch die Werte Ihrer Container-App.
Installieren Sie z. B. JDK in der Debugkonsole mit dem folgenden Befehl:
tdnf install -y msopenjdk-17
Zugreifen auf das Dateisystem eines Containers in der Debugkonsole
Standardmäßig wird die Debugkonsole als root-Benutzer ausgeführt. Sie können über das Verzeichnis auf das /proc/1/cwd/ Dateisystem Ihres Containers zugreifen. Wenn Ihr Container nicht als Stammbenutzer ausgeführt wird, führen Sie den folgenden Befehl aus, bevor Sie auf das /proc/1/cwd/ Verzeichnis zugreifen, oder Sie erhalten einen Berechtigungsverweigerungsfehler.
switch-user
Weitere Informationen finden Sie auf den folgenden Linux-Man-Seiten: