Docker Grundbefehle

10 Kernbefehle
Die wichtigsten Docker-Befehle für Container- und Image-Verwaltung: docker run · docker ps · docker build · docker images · docker exec · docker logs · docker stop/rm Docker ist die führende Container-Plattform für die Entwicklung, Bereitstellung und Ausführung von Anwendungen. Diese Befehle sind essenziell für die tägliche Arbeit mit Containern.

docker run – Container starten

docker run [Optionen] IMAGE [Befehl]
docker run -d -p 80:80 --name web nginx

docker run startet einen Container aus einem Image. Es ist der zentrale Befehl für die Ausführung von Containern mit verschiedenen Optionen für Netzwerk, Volumes und Konfiguration.

Häufige Optionen

Option Beschreibung
-d, --detach Container im Hintergrund ausführen (detached)
-p, --publish Port weiterleiten (Host:Container)
--name Name für den Container vergeben
-v, --volume Volume oder Verzeichnis einbinden
-e, --env Umgebungsvariable setzen
--rm Container nach Beenden automatisch löschen
-it Interaktiver Modus mit TTY (für Shell)
--restart Neustart-Policy (always, unless-stopped)
Beispiele
docker run -d -p 8080:80 nginx # Nginx im Hintergrund
docker run -it --name ubuntu ubuntu bash # Interaktive Shell in Ubuntu
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret mysql # MySQL mit Passwort
docker run --rm hello-world # Test-Container (wird gelöscht)
docker run -v ./data:/app/data node:18 node app.js # Volume einbinden
Tipp: Mit docker run -it --rm können Sie schnell einen Container testen, der nach dem Beenden automatisch entfernt wird – perfekt für Experimente.

docker ps – Container auflisten

docker ps [Optionen]
docker ps -a

docker ps zeigt alle laufenden Container an. Mit -a werden auch gestoppte Container angezeigt.

Häufige Optionen

Option Beschreibung
-a, --all Alle Container (auch gestoppte)
-q, --quiet Nur Container-IDs anzeigen
--format Ausgabe formatieren (z.B. table, json)
--filter Nach Kriterien filtern (z.B. status=exited)
Beispiele
docker ps # Nur laufende Container
docker ps -a # Alle Container
docker ps -a --filter status=exited # Nur gestoppte Container
docker ps -q # Nur IDs (für Skripte)
docker ps --format "table {{.Names}}\t{{.Status}}" # Benutzerdefinierte Ausgabe
Typische Ausgabe von docker ps -a:
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
a1b2c3d4e5f6 nginx "/docker-entrypoint.…" 2 hours ago Up 2 hours web
f6e5d4c3b2a1 ubuntu "bash" 5 hours ago Exited (0) 3 hours ago ubuntu-dev
Tipp: docker ps -a -q gibt nur die IDs aller Container zurück – nützlich für Massenoperationen wie docker rm $(docker ps -a -q).

docker build – Images erstellen

docker build [Optionen] PFAD
docker build -t myapp:1.0 .

docker build erstellt ein Docker-Image aus einem Dockerfile und dem Kontext-Pfad (meist das aktuelle Verzeichnis).

Häufige Optionen

Option Beschreibung
-t, --tag Name und Tag für das Image (z.B. myapp:latest)
-f, --file Alternatives Dockerfile (standard: Dockerfile)
--no-cache Keine Cache-Schichten verwenden
--build-arg Build-Argumente übergeben
--progress Fortschrittsanzeige (auto, plain, tty)
Beispiele
docker build -t myapp:latest . # Image aus Dockerfile bauen
docker build -t myapp:1.0 -f Dockerfile.prod . # Mit anderem Dockerfile
docker build --no-cache -t myapp:latest . # Ohne Cache
docker build --build-arg VERSION=2.0 -t myapp:2.0 . # Mit Build-Arg
Tipp: Verwenden Sie .dockerignore, um unnötige Dateien vom Build-Kontext auszuschließen – das beschleunigt den Build und verkleinert das Image.

docker images – Images auflisten

docker images [Optionen]
docker images

docker images zeigt alle lokal verfügbaren Docker-Images mit Repository, Tag und Größe an.

Beispiele
docker images # Alle Images anzeigen
docker images nginx # Nur Nginx-Images
docker images -q # Nur Image-IDs
docker images --format "table {{.Repository}}\t{{.Size}}" # Benutzerdefinierte Ausgabe
Typische Ausgabe von docker images:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest a1b2c3d4e5f6 2 days ago 142MB
myapp 1.0 f6e5d4c3b2a1 5 hours ago 850MB
ubuntu 22.04 abc123def456 3 weeks ago 77.8MB
Tipp: Verwenden Sie docker image prune oder docker rmi $(docker images -q) (vorsichtig!) um nicht verwendete Images zu entfernen.

docker exec – Befehle im laufenden Container ausführen

docker exec [Optionen] CONTAINER BEFEHL
docker exec -it web bash

docker exec führt einen Befehl in einem laufenden Container aus – ideal für Debugging, Logins oder Dateioperationen.

Beispiele
docker exec -it web bash # Shell im Container öffnen
docker exec web ls -la /app # Verzeichnis auflisten
docker exec -it mysql-container mysql -u root -p # MySQL-Client starten
docker exec web cat /etc/os-release # Betriebssystem anzeigen
Tipp: docker exec -it container bash ist der Standard-Weg, um in einen laufenden Container zu gelangen – perfekt für Fehlersuche und Konfiguration.

docker logs – Logs anzeigen

docker logs [Optionen] CONTAINER
docker logs -f web

docker logs zeigt die Logs eines Containers an – STDOUT und STDERR. Mit -f werden neue Logs live verfolgt.

Beispiele
docker logs web # Alle Logs anzeigen
docker logs -f web # Live-Logs verfolgen
docker logs --tail 50 web # Letzte 50 Zeilen
docker logs -f -t web # Mit Zeitstempel
docker logs --since 1h web # Logs der letzten Stunde
Tipp: docker logs -f container funktioniert wie tail -f unter Linux – ideal für die Überwachung von Anwendungsausgaben in Echtzeit.

docker stop / rm / rmi – Container und Images löschen

stop · rm · rmi
docker stop web docker rm web docker rmi myapp:1.0

docker stop stoppt einen laufenden Container. docker rm löscht einen Container (muss gestoppt sein). docker rmi löscht ein Image.

Häufige Optionen

Befehl Option Beschreibung
docker stop -t, --time Timeout in Sekunden (default 10)
docker rm -f, --force Laufenden Container erzwingen (stoppt ihn zuerst)
docker rm -v, --volumes Verbundene Volumes löschen
docker rmi -f, --force Image löschen, auch wenn es verwendet wird
Beispiele
docker stop web # Container anhalten
docker stop web db # Mehrere Container stoppen
docker rm web # Container löschen
docker rm -f web # Laufenden Container stoppen & löschen
docker rm $(docker ps -a -q) # Alle Container löschen (⚠️ vorsichtig!)
docker rmi myapp:1.0 # Image löschen
docker rmi $(docker images -q) # Alle Images löschen (⚠️ vorsichtig!)
⚠️ Warnung: docker rm -f $(docker ps -a -q) und docker rmi $(docker images -q) löschen alle Container bzw. Images – unwiderruflich! Verwenden Sie diese Befehle nur mit Vorsicht.

Docker Grundkonzepte im Überblick

Image Vorlage für Container
docker build, docker pull
Container Laufende Instanz eines Images
docker run, docker ps
Volume Persistente Daten
docker volume, -v
Port Port-Weiterleitung
-p host:container
Dockerfile Build-Anweisungen
FROM, RUN, COPY
Registry Image-Repository
Docker Hub, push/pull

Quick Summary

docker run
Container starten
docker ps
Container auflisten
docker build
Image erstellen
docker images
Images auflisten
docker exec
Befehl im Container
docker logs
Logs anzeigen
docker stop/rm
Container löschen
docker run -d -p 80:80 nginx · docker ps -a · docker exec -it container bash