Docker Cheat Sheet
Einige häufig verwendete Parameter von Docker-Befehlen
Hier ist ein Docker-Referenzblatt, das die wichtigsten Befehle und Konzepte von der Installation bis zum Ausführen von Containern und der Bereinigung abdeckt:

Dieser Leitfaden ist Teil des Entwicklertools: Der komplette Leitfaden für moderne Entwicklungsworkflows.
Installation
Für einen vollständigen Leitfaden zur Installation von Docker auf Ubuntu — unter Vergleich des offiziellen APT-Repositories, docker.io, Snap, des rootless-Modus und der Einrichtung des Compose-Plugins — siehe Docker auf Ubuntu installieren.
Fügen Sie nach der Installation Ihren Benutzer zur docker-Gruppe hinzu, wenn Sie Befehle ohne sudo ausführen müssen:
sudo usermod -aG docker $USER
newgrp docker
docker run hello-world
Der Installationsleitfaden behandelt auch den Sicherheitskompromiss der docker-Gruppenmitgliedschaft und rootless-Alternativen.
Allgemeine Docker-Befehle
Version und Systeminformationen
docker version # Zeigt Docker-CLI- und Daemon-Versionen an
docker system info # Listet Daten über Ihre Docker-Umgebung auf
docker help # Zeigt den Hilfeindex an
docker <command> --help # Zeigt Hilfeinformationen für einen bestimmten Befehl an
Anmelden und Abmelden
docker login # Bei Docker Hub anmelden
docker logout # Von Docker Hub abmelden
Bildverwaltung
Bilder auflisten
docker images # Alle Bilder auflisten
docker images -a # Alle Bilder auflisten, einschließlich Zwischenversionen
Bilder laden
docker pull <image-name:version> # Ein Bild von Docker Hub herunterladen
Bilder erstellen
docker build -t <image-name> . # Ein Bild aus dem Dockerfile des aktuellen Verzeichnisses erstellen
docker build -f <Dockerfile-path> -t <image-name> . # Ein Bild aus einem bestimmten Dockerfile erstellen
docker build --build-arg foo=bar . # Ein Bild mit Build-Argumenten erstellen
docker build --pull . # Aktualisierte Versionen der in FROM-Anweisungen referenzierten Bilder laden
docker build --quiet . # Ein Bild erstellen, ohne Ausgabe zu erzeugen
Bilder taggen und pushen
docker tag <local-image-name> <username>/<preferred-image-name>
docker push <username>/<preferred-image-name>
Bilder entfernen
docker rmi <image-name> # Ein bestimmtes Bild entfernen
docker image prune # Nicht verwendete Bilder entfernen
docker image prune -a # Alle nicht verwendeten Bilder entfernen
Schwebende (dangling) Bilder entfernen
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Bild enttaggen
docker rmi repository/image-name:tag
Containerverwaltung
Container ausführen
docker run -itd --name <container-name> <image-name> # Einen Container im detached-Modus ausführen
docker run -it -p <host-port>:<docker-port> <image-name> # Einen Container mit Port-Mapping ausführen
docker run -it --name <container-name> <image-name> # Einen Container interaktiv ausführen
Container auflisten
docker ps # Ausgeführte Container auflisten
docker ps -a # Alle Container auflisten
docker ps -s # Ausgeführte Container mit CPU- und Speicherverbrauch auflisten
Container starten, stoppen und neu starten
docker start <container-name> # Einen gestoppten Container starten
docker stop <container-name> # Einen laufenden Container stoppen
docker restart <container-name> # Einen Container neu starten
Container entfernen
docker rm <container-name> # Einen gestoppten Container entfernen
docker rm -f <container-name> # Einen Container gewaltsam entfernen
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Alle Container entfernen
Alle gestoppten Container entfernen
docker container prune
An Container anhängen
docker attach <container-name> # An einen laufenden Container anhängen
docker exec -it <container-name> bash # Einen Befehl in einem laufenden Container interaktiv ausführen
Container untersuchen
docker inspect <container-name> # Einen Container untersuchen
docker logs <container-name> # Protokolle eines Containers anzeigen
docker port <container-name> # Port-Mappings eines Containers anzeigen
Netzwerkverwaltung
docker network ls # Alle Netzwerke auflisten
docker network create <network-name> # Ein neues Netzwerk erstellen
docker network rm <network-name> # Ein Netzwerk entfernen
Volumenverwaltung
docker volume ls # Alle Volumes auflisten
docker volume create <volume-name> # Ein neues Volume erstellen
docker volume rm <volume-name> # Ein Volume entfernen
docker run -v <host-path>:<container-path> <image-name> # Ein Volume mounten
Docker Compose
Für Multi-Container-Stacks und tägliche Compose-Befehle siehe das Docker Compose Referenzblatt. Wenn ein Compose-Projekt beim Boot starten und Neustarts auf einem Linux-Server überstehen soll, behandelt Docker Compose als Linux-Service mit systemd ausführen Unit-Dateien und operative Gewohnheiten.
Basisbefehle
docker-compose up # Dienste starten, die in docker-compose.yml definiert sind
docker-compose up -d # Dienste im detached-Modus starten
docker-compose down # Dienste stoppen und entfernen
docker-compose ps # Ausgeführte Dienste auflisten
docker-compose logs # Protokolle der Dienste anzeigen
docker-compose start # Dienste starten
docker-compose stop # Dienste stoppen
docker-compose pause # Dienste pausieren
docker-compose unpause # Dienste fortsetzen
Dockerfile-Befehle
Bild aus Dockerfile erstellen
docker build -t <image-name> <Dockerfile-path> # Ein Bild aus einem Dockerfile erstellen
Beispiel-Dockerfile
FROM <base-image>
RUN <command>
COPY <source> <destination>
EXPOSE <port>
CMD ["<command>", "<argument>"]
Sicherheit und Secrets
Docker Secrets
docker secret create <secret-name> <file> # Ein Secret erstellen
docker secret ls # Alle Secrets auflisten
docker secret rm <secret-name> # Ein Secret entfernen
Docker-Sicherheit
- Verwenden Sie Docker Secrets, um sensible Daten zentral zu verwalten und sicher an Container zu übermitteln.
- Secrets werden während der Übertragung und im Ruhezustand in einem Docker Swarm verschlüsselt.
Bereinigung
Nicht verwendete Ressourcen entfernen
docker system prune # Nicht verwendete Daten entfernen (Bilder, Container, Netzwerke, Volumes)
docker image prune # Nicht verwendete Bilder entfernen
docker container prune # Nicht verwendete Container entfernen
docker network prune # Nicht verwendete Netzwerke entfernen
docker volume prune # Nicht verwendete Volumes entfernen
Nicht getaggte Bilder entfernen
Manchmal gibt es nach einer großen erfolgreichen Kompilierung ein Bild wie dieses vom docker images-Befehl:

Um diese Bilder mit
docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
Das Obige ist alt und inkompatibel. Der Parameter dangling=true ist veraltet. Verwenden Sie stattdessen:
docker system prune
Es wird gefragt:
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all dangling images
Sie können entscheiden, dieser Warnung mit Ja zu antworten…
Dieses Referenzblatt deckt die wesentlichen Befehle und Konzepte ab, die zum Verwalten von Docker-Containern, Bildern, Netzwerken, Volumes und mehr benötigt werden. Für eine tiefere Einarbeitung verweisen Sie auf die detaillierten Leitfäden und Tutorials, die online verfügbar sind.