Docker Spickzettel: Die wichtigsten Befehle für Alltag & Notfälle
Docker Spickzettel: Befehle für Alltag & Notfälle
Die wichtigsten Docker-Commands kurz & prägnant – für tägliche Arbeit, Debugging und schnelles Aufräumen. Achtung: Befehle mit ⚠️ sind zerstörerisch (Datenverlust möglich).
🔎 Status & Übersicht
docker ps # laufende Container
docker ps -a # alle Container (inkl. gestoppte)
docker images # Images auflisten
docker volume ls # Volumes auflisten
docker network ls # Netzwerke auflisten
docker system df # Docker-Speicherübersicht
📦 Container: Start, Stop, Remove
docker run --name <name> -d -p 8080:80 <image:tag> # Container starten (detached)
docker start <container> # Starten
docker stop <container> # Stoppen (graceful)
docker kill <container> # Hard-Stop
docker restart <container> # Neustart
docker rm <container> # Entfernen (gestoppt)
docker rm -f <container> # Entfernen (erzwingen) ⚠️
🐳 Images
docker pull <image:tag> # Image laden
docker build -t <name:tag> . # Image bauen (im aktuellen Ordner)
docker rmi <image> # Image löschen
docker images -f "dangling=true" -q | xargs -r docker rmi # Dangling Images löschen
🗂️ Volumes
docker volume ls
docker volume inspect <volume> # Details/Pfad
docker volume rm <volume> # Einzelnes Volume löschen ⚠️
docker volume prune -f # Alle ungenutzten Volumes löschen ⚠️
🌐 Netzwerke
docker network ls
docker network inspect <network>
docker network create <name>
docker network connect <network> <container>
docker network disconnect <network> <container>
docker network prune -f # ungenutzte Netzwerke löschen ⚠️
🛠️ Debugging: Logs, Shell & Dateien
docker logs -f --tail 200 <container> # Live-Logs
docker exec -it <container> sh # Shell (BusyBox/Alpine)
docker exec -it <container> bash # Shell (Debian/Ubuntu)
docker cp <container>:/pfad/in/container /lokal # Datei/Ordner kopieren (Container → Host)
docker cp /lokal <container>:/pfad/in/container # Datei/Ordner kopieren (Host → Container)
🧹 Aufräumen
docker system prune # ungenutzte Daten löschen (fragt nach)
docker system prune -a -f # aggressiv: inkl. ungenutzter Images ⚠️
docker image prune -a -f # ungenutzte Images löschen ⚠️
docker container prune -f # gestoppte Container löschen
docker builder prune -a -f # Build-Cache löschen ⚠️
🧩 Docker Compose (im Projektordner)
docker compose up -d # starten (detached)
docker compose down # stoppen (ohne Volumes)
docker compose down -v # stoppen + Volumes löschen ⚠️
docker compose pull # Images aktualisieren
docker compose build --no-cache # neu bauen ohne Cache
docker compose logs -f <service> # Service-Logs
docker compose exec <service> sh # Shell in Service
🔐 Env & Inspektions-Helfer
docker inspect <container-or-image> | jq . # alle Details als JSON
docker inspect -f '{{json .Mounts}}' <container> | jq . # Mounts/Volumes
docker exec <container> env # Umgebungsvariablen einsehen
🚨 Notfall-Block (mit Bedacht!)
# Alle Container stoppen
docker stop $(docker ps -q)
# Alle Container löschen ⚠️
docker rm -f $(docker ps -aq)
# Alle Volumes löschen ⚠️ (Datenverlust!)
docker volume rm $(docker volume ls -q)
# Alle ungenutzten Objekte forcieren ⚠️
docker system prune -a -f --volumes
💡 Tipps
- Kürzel: Container/Images lassen sich mit den ersten 3–4 ID-Zeichen adressieren.
- Tags nutzen: Vermeide
latestin Produktion – nutze feste Tags. - Persistenz: Prüfe vor dem Löschen, ob ein Volume produktive Daten hält (
inspect). - Compose-Kontext: Befehle immer im richtigen Projektordner ausführen.