Erst schauen, was Docker sagt
Wenn ein Container nicht startet, rät man besser nicht — die Logs sagen fast immer, was los ist. Verschaff dir zuerst einen Überblick:
docker ps -a
Die Spalte STATUS zeigt, ob der Container läuft, beendet wurde (Exited) oder in einer Neustart-Schleife hängt (Restarting).
1. Container-Logs lesen
docker logs --tail 50 container_name
Hier steht der eigentliche Fehler: fehlende Umgebungsvariable, falscher Pfad, abgelehnte Datenbankverbindung. Das ist der wichtigste Schritt — die meisten Probleme erklären sich hier von selbst.
2. Exit-Code deuten
In docker ps -a steht ein Exit-Code. Exited (0) heißt sauberes Ende, alles andere ein Fehler. Exit 137 bedeutet, der Container wurde wegen Speichermangels (OOM) beendet — dann braucht er mehr RAM oder das Limit ist zu niedrig.
3. Port-Konflikt
Meldet Docker port is already allocated, belegt ein anderer Prozess den Port:
sudo ss -tlnp | grep 8080
Entweder den anderen Dienst stoppen oder dem Container per -p einen freien Host-Port zuweisen.
4. Volume- und Rechte-Probleme
Findet der Container Dateien nicht oder darf nicht schreiben, prüfe die Volume-Pfade und die Besitzrechte des gemounteten Ordners auf dem Host. Oft läuft der Prozess im Container unter einer anderen Benutzer-ID — dann die Ordnerrechte entsprechend anpassen.
5. Interaktiv hineinschauen
Stürzt der Container sofort ab, starte ihn zum Testen mit einer Shell:
docker run -it --entrypoint /bin/sh image_name
So kannst du von innen prüfen, ob Dateien und Befehle vorhanden sind.
Fazit
Logs zuerst, dann Exit-Code, Ports und Volumes — in dieser Reihenfolge findest du fast jeden Startfehler. Docker läuft mit vollen Rechten auf einem Nytrix vServer; Grundlagen unter Docker auf dem vServer.