Fehlersuche
Wenn du ein Problem mit deiner Anwendung hast, solltest du Folgendes in Betracht ziehen und versuchen, es auszuschließen:
- Probleme mit der Datenbankkonnektivität.
- Umgebungsvariablen:
- Falsche Variablen.
- Sonderzeichen.
- Base64 kodierte Variablen.
- Konnektivitätsprobleme mit externen Anwendungen.
- Falsche Startbefehle. Zum Beispiel, wenn du versuchst,
yarn
zu verwenden, obwohl nurnpm
verfügbar ist, oder eine package.json-Datei ohne das erforderliche Startskript. - Bei der Verkettung von Startbefehlenmuss der letzte Befehl einen Webdienst initiieren. Dadurch bleibt der Container in Betrieb und wartet auf eingehende Verbindungen.
- Ein ungültiger Paketname in der package.json. Verwende zum Beispiel kein „js“ oder „node“ im Namen. Weitere Details findest du in den npm Docs zur Handhabung der package.json von npm.
- Probleme mit der Berechtigung.
- Fehlende Dateien.
Allgemeine Schritte zur Fehlerbehebung
- Wenn deine Anwendung mit Dockerfile erstellt wurde, stelle sicher, dass Bash im Container installiert ist. Normalerweise enthält das Basis-Image (z.B. Ubuntu) ein Shell-Paket und funktioniert standardmäßig. In einigen schlankeren Containern ist das Shell-Paket möglicherweise nicht enthalten und du musst es hinzufügen. Das Basis-Image bestimmt, wie du das Shell-Paket hinzufügst:
- Alpine:
apk add bash
- Ubuntu/Debian:
apt install bash
- Fedora:
dnf install bash
- Alpine:
- Ändere den Startbefehl in
sleep 9999
. Dadurch wird der Pod in einen laufenden Zustand versetzt, in dem du über das Webterminal mit ihm interagieren kannst. Bearbeite den Webprozess, um den Startbefehl zu ändern (Prozesse > Laufzeitprozesse > Webprozess > Prozess bearbeiten). - Öffne das Webterminal.
- Überprüfe die Umgebungsvariablen. Gib im Webterminal
printenv
ein und überprüfe, ob die Umgebungsvariablen so sind, wie du sie erwartest. - Führe die Anwendung manuell aus. Versuche, die Anwendung manuell mit aktivierten Debug-Optionen auszuführen. Der Befehl dazu kann je nach Anwendung variieren. Weitere Informationen findest du in der Dokumentation der Sprache oder des Paketmanagers, mit der/dem deine Anwendung erstellt wurde.