Dieses Cheat Sheet enthält eine Übersicht der meist benötigten Docker Befehle für den Betrieb und Fehlersuche.
Grundlegende Docker-Befehle
Image vom Docker Hub herunterladendocker pull <image_name>
Alle lokalen Images auflistendocker images
Ein Docker-Image löschendocker rmi <image_name>
Image aus Dockerfile bauen und benennendocker build -t <image_name> .
Image aus Dockerfile bauen und benennen – ohne Cachedocker build -t <image_name> . -no-chache
Container aus einem Image startendocker run <image_name>
Container mit eigenem Namen startendocker run --name <container_name> <image_name>
Container im Hintergrund (detached) startendocker run -d <image_name>
Port vom Host an Container weiterleitendocker run -p <host_port>:<container_port> <image_name>
Einen bestehenden Container starten oder stoppendocker start/stop <container_name> oder <container_id>
Laufende Container anzeigendocker ps
Alle Container (inkl. gestoppte) anzeigendocker ps --all
Einen gestoppten Container löschendocker rm <container_name>
Shell (sh/bash) im laufenden Container öffnendocker exec -it <container_name> sh/bash
Live-Logs eines Containers anzeigendocker logs -f <container_name>
Konfiguration und Status eines Containers anzeigendocker inspect <container_name> oder <container_id>
Image aus aktuellem Container-Zustand erstellendocker commit <container_name> <new-image_name>
Cleanup und Wartung
Nicht genutzte Daten, Images, Netzwerke, Volumes löschen (Achtung!)docker system prune -a --volumes
Alle Images löschendocker rmi $(docker images -q)
Alle gestoppten Container löschendocker rm $(docker ps -a -q)
Nicht genutzte Images löschendocker image prune -a
Ungenutzte (hängende) Volumes löschendocker volume rm $(docker volume ls -qf dangling=true)
Netzwerk und Storage (Volumes)
Alle Docker-Netzwerke anzeigendocker network ls
Anzeigen von spezifischen Netzwerk-Informationendocker network inspect <network_name>
Prüfen von offenen Ports des Docker Hostnetstat -tuln | grep <port>
Nicht genutzte Netzwerke löschendocker network prune -f
Alle Docker-Volumes anzeigendocker volume ls
Nicht genutzte Volumes löschendocker volume prune
Docker Compose
Dienste aus docker-compose.yml startendocker compose up
Container, Netzwerke und Volumes stoppen und löschendocker compose down
Compose-Konfiguration prüfen/anzeigendocker compose config
Logs aus allen Compose-Diensten anzeigendocker compose logs
Docker Hub
Login Docker Hubdocker login -u
Veröffentlichen eines Image im Docker Hubdocker push <username>/<image_name>
Suche nach einem Image im Docker Hubdocker search <image_name>
Ziehen eines Image vom Docker Hubdocker pull <image_name>
Troubleshooting und Überwachung (Fehlerbehebung)
Status des Docker-Dienstes anzeigensystemctl status docker
Docker-Dienst starten/neustartensystemctl start/restart docker
Container-Logs auslesendocker logs <container>
Aktuelle Ressourcennutzung aller Container anzeigendocker container stats
Konfig und Status eines Containers prüfendocker inspect <container_name>
Netzwerke anzeigen & Details zu Netzwerk abrufendocker network ls / inspect <network_name>
Disk Usage durch Docker anzeigendocker system df
Version/Kompatibilität der Docker Version prüfendocker --version
docker compose versiondocker info
Typische Fehler
Keine Verbindung zum Docker Daemon
Docker-Dienst starten: sudo systemctl start docker
Zugriffsfehler bei docker.socksudo usermod -aG docker $USER und neu anmelden
Port schon vergebenAnderen Port wählen oder Konflikt beseitigen
Kein Speicherplatz mehr (Achtung!)docker system prune -a --volumes
Container startet nicht
Logs prüfen: docker logs <container_name>
Image nicht gefunden
Image-Name prüfen und docker pull ggf. wiederholen
Tipps
Ausführen von Docker Befehlen ohne sudosudo groupadd dockersudo gpasswd -a $USER docker
Ausführen von bash oder sh in einem laufenden Containerdocker exec -it <container_name> bash
oderdocker exec -it <container_name> sh
Prüfen ob der Docker Service auf dem Host läuftsystemctl status docker
Starten oder Neustarten des Docker Servicesystemctl start docker
systemctl restart docker
