Cheat Sheet Docker

Estimated reading time: 2 min

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 herunterladen
docker pull <image_name>

Alle lokalen Images auflisten
docker images

Ein Docker-Image löschen
docker rmi <image_name>

Image aus Dockerfile bauen und benennen
docker build -t <image_name> .

Image aus Dockerfile bauen und benennen – ohne Cache
docker build -t <image_name> . -no-chache

Container aus einem Image starten
docker run <image_name>

Container mit eigenem Namen starten
docker run --name <container_name> <image_name>

Container im Hintergrund (detached) starten
docker run -d <image_name>

Port vom Host an Container weiterleiten
docker run -p <host_port>:<container_port> <image_name>

Einen bestehenden Container starten oder stoppen
docker start/stop <container_name> oder <container_id>

Laufende Container anzeigen
docker ps

Alle Container (inkl. gestoppte) anzeigen
docker ps --all

Einen gestoppten Container löschen
docker rm <container_name>

Shell (sh/bash) im laufenden Container öffnen
docker exec -it <container_name> sh/bash

Live-Logs eines Containers anzeigen
docker logs -f <container_name>

Konfiguration und Status eines Containers anzeigen
docker inspect <container_name> oder <container_id>

Image aus aktuellem Container-Zustand erstellen
docker 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öschen
docker rmi $(docker images -q)

Alle gestoppten Container löschen
docker rm $(docker ps -a -q)

Nicht genutzte Images löschen
docker image prune -a

Ungenutzte (hängende) Volumes löschen
docker volume rm $(docker volume ls -qf dangling=true)

Netzwerk und Storage (Volumes)

Alle Docker-Netzwerke anzeigen
docker network ls

Anzeigen von spezifischen Netzwerk-Informationen
docker network inspect <network_name>

Prüfen von offenen Ports des Docker Host
netstat -tuln | grep <port>

Nicht genutzte Netzwerke löschen
docker network prune -f

Alle Docker-Volumes anzeigen
docker volume ls

Nicht genutzte Volumes löschen
docker volume prune

Docker Compose

Dienste aus docker-compose.yml starten
docker compose up

Container, Netzwerke und Volumes stoppen und löschen
docker compose down

Compose-Konfiguration prüfen/anzeigen
docker compose config

Logs aus allen Compose-Diensten anzeigen
docker compose logs

Docker Hub

Login Docker Hub
docker login -u

Veröffentlichen eines Image im Docker Hub
docker push <username>/<image_name>

Suche nach einem Image im Docker Hub
docker search <image_name>

Ziehen eines Image vom Docker Hub
docker pull <image_name>

Troubleshooting und Überwachung (Fehlerbehebung)

Status des Docker-Dienstes anzeigen
systemctl status docker

Docker-Dienst starten/neustarten
systemctl start/restart docker

Container-Logs auslesen
docker logs <container>

Aktuelle Ressourcennutzung aller Container anzeigen
docker container stats

Konfig und Status eines Containers prüfen
docker inspect <container_name>

Netzwerke anzeigen & Details zu Netzwerk abrufen
docker network ls / inspect <network_name>

Disk Usage durch Docker anzeigen
docker system df

Version/Kompatibilität der Docker Version prüfen
docker --version
docker compose version

docker info

Typische Fehler

Keine Verbindung zum Docker Daemon
Docker-Dienst starten: sudo systemctl start docker

Zugriffsfehler bei docker.sock
sudo usermod -aG docker $USER und neu anmelden

Port schon vergeben
Anderen 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 sudo
sudo groupadd docker
sudo gpasswd -a $USER docker

Ausführen von bash oder sh in einem laufenden Container
docker exec -it <container_name> bash
oder
docker exec -it <container_name> sh

Prüfen ob der Docker Service auf dem Host läuft
systemctl status docker

Starten oder Neustarten des Docker Service
systemctl start docker
systemctl restart docker

Was this article helpful?
Dislike 0
Views: 14