Docker kann in komplexen Umgebungen schnell unübersichtlich werden, besonders wenn Container nicht starten, Netzwerke nicht funktionieren oder Volumes plötzlich voll sind. Ein kompaktes Cheat Sheet mit den wichtigsten Befehlen hilft Einsteigern und Profis, Probleme schnell zu identifizieren und zu beheben. Dieses Tutorial bietet eine strukturierte Übersicht über die essenziellen Docker- und Docker Compose-Kommandos für das tägliche Troubleshooting.
Container-Status prüfen
Um herauszufinden, welche Container laufen oder gestoppt wurden, sind folgende Befehle essenziell:
docker ps: Zeigt laufende Containerdocker ps -a: Zeigt alle Container, inklusive gestoppterdocker inspect <container>: Detailinformationen zu einem Containerdocker stats: Echtzeit-Statistiken zu CPU, RAM und I/O
# Beispiel: laufende Container anzeigen
docker ps
Details eines Containers
docker inspect my_container
Echtzeit-Ressourcenverbrauch
docker stats
Exit Codes und Logs
Wenn ein Container exited, ist es wichtig, Logs und Exit-Codes zu prüfen:
docker logs <container>: Zeigt die Container-Logsdocker inspect <container> --format '{{.State.ExitCode}}': Zeigt den Exit-Code- Crashloops oft durch fehlende Abhängigkeiten, falsche Umgebungsvariablen oder fehlende Volumes verursacht
# Logs eines Containers anzeigen
docker logs -f my_container
Exit-Code prüfen
docker inspect my_container --format '{{.State.ExitCode}}'
Netzwerk-Probleme identifizieren
Container-Kommunikation kann durch fehlerhafte Netzwerke blockiert sein. Die wichtigsten Kommandos:
docker network ls: Zeigt alle Docker-Netzwerkedocker network inspect <network>: Details zu einem Netzwerkdocker exec -it <container> ping <ziel>: Testet die Verbindung zwischen Containern
# Netzwerke anzeigen
docker network ls
Netzwerkdetails
docker network inspect my_network
Verbindung testen
docker exec -it web_container ping db_container
Bridge, Host und Overlay
Bridge ist der Standard für lokale Container, Host nutzt den Host-Netzwerkstack, Overlay ist für Swarm/Kubernetes-Setups gedacht. Prüfen Sie die Netzwerkkonfiguration bei Verbindungsproblemen.
Volumes und Storage überprüfen
Volumes können durch falsche Bind-Mounts oder vollen Speicher Probleme verursachen:
docker volume ls: Zeigt alle Volumesdocker volume inspect <volume>: Zeigt Details und Mountpointsdocker system df: Übersicht über belegten Speicher
# Volumes auflisten
docker volume ls
Details eines Volumes
docker volume inspect my_volume
Speicherbelegung prüfen
docker system df
Permission-Fehler
UID/GID-Mismatches zwischen Host und Container können Schreibprobleme verursachen. Prüfen Sie Besitzer und Rechte auf den gemounteten Verzeichnissen:
# Rechte prüfen
ls -l /path/to/volume
Ports und Bindings prüfen
Port-Konflikte verhindern, dass Services erreichbar sind:
docker pszeigt Port-Mappingsdocker port <container>zeigt die gemappten Ports- Systemseitig
ss -tulpnodernetstat -tulpnprüfen, ob Ports belegt sind
# Port-Mappings anzeigen
docker port web_container
System-Portprüfung
ss -tulpn | grep 8080
Docker Compose Befehle
Compose-Stacks erfordern zusätzliche Befehle:
docker-compose up -d: Startet alle Servicesdocker-compose down: Stoppt und entfernt Servicesdocker-compose logs -f: Echtzeit-Logs aller Servicesdocker-compose ps: Status aller Services
# Compose-Stack starten
docker-compose up -d
Logs anzeigen
docker-compose logs -f
Stack herunterfahren
docker-compose down
Override und Environment
Nutzen Sie docker-compose.override.yml für Entwicklungsanpassungen und .env-Dateien für Umgebungsvariablen:
# Compose mit Override starten
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d
Ressourcen und Limits prüfen
CPU- und RAM-Limits können Throttling verursachen:
docker stats: Echtzeitverbrauch- Compose-Definition prüfen auf
deploy.resources.limits - Probleme: Container startet langsam oder stürzt unter Last ab
# CPU/Memory Limits prüfen
docker inspect my_container --format '{{.HostConfig.NanoCpus}} {{.HostConfig.Memory}}'
Cleanup und Systempflege
Regelmäßige Bereinigung verhindert, dass Volumes, Images oder Container den Server blockieren:
docker system prune -a: Entfernt ungenutzte Container, Netzwerke, Imagesdocker volume prune: Entfernt ungenutzte Volumesdocker network prune: Entfernt ungenutzte Netzwerke
# System bereinigen
docker system prune -a
docker volume prune
docker network prune
Debugging Tipps
- Immer mit
docker logsstarten - Bei Netzwerkproblemen
pingodercurlinnerhalb des Containers nutzen - Nutzen Sie
docker exec -it <container> shfür direkten Zugriff - Healthchecks in Compose helfen, automatisch problematische Services zu erkennen
Beispiel Healthcheck
services:
web:
image: myapp:latest
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:80"]
interval: 30s
retries: 3
Mit diesem Cheat Sheet haben Teams und Administratoren eine kompakte Übersicht über die wichtigsten Docker- und Compose-Befehle für Troubleshooting. Von Logs über Netzwerke, Volumes, Ports bis zu Ressourcen und Cleanup – alle relevanten Bereiche werden abgedeckt, um Probleme schnell zu erkennen und zu beheben.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











