Docker-Befehle: Spickzettel mit Compose

Docker-Befehle zum Nachschlagen: Container, Images, Volumes, Netzwerke und docker compose, gruppiert nach Aufgabe. Suchen Sie nach einem Stichwort und kopieren Sie den Befehl direkt.

66 Einträge

Container starten

docker run -it --rm ubuntu bashInteraktiv starten, nach dem Beenden automatisch entfernen
docker run -d --name web -p 8080:80 nginxIm Hintergrund starten; Port 8080 auf dem Host zeigt auf Port 80 im Container
docker run -d --restart unless-stopped nginxContainer nach Neustart von Docker automatisch wieder starten
docker run -e TZ=Europe/Berlin alpine dateUmgebungsvariable setzen
docker run --env-file .env meinappUmgebungsvariablen aus einer Datei laden
docker run -v "$(pwd)":/app -w /app node:20 npm testAktuelles Verzeichnis einbinden und als Arbeitsverzeichnis nutzen (Bind Mount)
docker run -v daten:/var/lib/postgresql/data postgresBenanntes Volume einbinden, Daten bleiben beim Löschen des Containers erhalten
docker run --network meinnetz meinappContainer in einem eigenen Netzwerk starten
docker run --memory 512m --cpus 1.5 meinappArbeitsspeicher und CPU begrenzen

Container verwalten

docker psLaufende Container anzeigen
docker ps -aAlle Container anzeigen, auch gestoppte
docker stop webContainer anhalten (SIGTERM, nach 10 Sekunden SIGKILL)
docker start webGestoppten Container wieder starten
docker restart webContainer neu starten
docker rm webGestoppten Container löschen
docker rm -f webContainer löschen, auch wenn er noch läuft
docker container pruneAlle gestoppten Container löschen
docker rename web web-altContainer umbenennen
docker exec -it web shShell im laufenden Container öffnen (bash, falls vorhanden)
docker logs -f --tail 100 webDie letzten 100 Logzeilen anzeigen und weiter mitlesen
docker inspect webAlle Details als JSON: Netzwerk, Volumes, Umgebung
docker cp web:/etc/nginx/nginx.conf .Datei aus dem Container kopieren (umgekehrt auch hinein)
docker statsCPU, Speicher und Netzwerk aller laufenden Container live
docker top webProzesse im Container anzeigen
docker port webPortweiterleitungen des Containers anzeigen

Images

docker imagesLokale Images anzeigen (gleichbedeutend mit docker image ls)
docker pull nginx:alpineImage aus der Registry laden
docker build -t meinapp:1.0 .Image aus dem Dockerfile im aktuellen Verzeichnis bauen
docker build -f Dockerfile.prod -t meinapp:prod .Anderes Dockerfile verwenden
docker build --no-cache -t meinapp .Ohne Build-Cache neu bauen
docker tag meinapp:1.0 registry.example.com/meinapp:1.0Image für eine andere Registry benennen
docker login registry.example.comBei einer Registry anmelden
docker push registry.example.com/meinapp:1.0Image in die Registry hochladen
docker rmi meinapp:1.0Image löschen (gleichbedeutend mit docker image rm)
docker image pruneUnbenannte Images (dangling) löschen
docker image prune -aAlle Images löschen, die von keinem Container genutzt werden
docker history meinapp:1.0Schichten des Images mit Größe anzeigen
docker save -o meinapp.tar meinapp:1.0Image als Datei exportieren
docker load -i meinapp.tarImage aus Datei importieren

Volumes und Netzwerke

docker volume lsVolumes anzeigen
docker volume create datenVolume anlegen
docker volume inspect datenSpeicherort und Details eines Volumes
docker volume rm datenVolume löschen (Daten sind danach weg)
docker volume pruneUngenutzte Volumes löschen
docker network lsNetzwerke anzeigen
docker network create meinnetzEigenes Bridge-Netzwerk anlegen; Container erreichen sich darin per Name
docker network connect meinnetz webLaufenden Container mit einem Netzwerk verbinden
docker network inspect meinnetzVerbundene Container und Adressbereich anzeigen

docker compose

docker compose up -dAlle Dienste aus compose.yaml im Hintergrund starten
docker compose up -d --buildImages vorher neu bauen und starten
docker compose downDienste stoppen und Container sowie Netzwerk entfernen
docker compose down -vWie down, löscht zusätzlich die Volumes
docker compose psStatus der Dienste
docker compose logs -f appLogs eines Dienstes mitlesen
docker compose exec app shShell in einem laufenden Dienst öffnen
docker compose run --rm app npm testEinmaligen Befehl in einem neuen Container des Dienstes ausführen
docker compose pullNeue Versionen der Images laden
docker compose restart appDienst neu starten
docker compose configZusammengeführte Konfiguration prüfen und ausgeben

System und Aufräumen

docker system dfBelegten Speicher von Images, Containern, Volumes und Cache
docker system pruneGestoppte Container, ungenutzte Netzwerke, dangling Images und Build-Cache löschen
docker system prune -a --volumesGründlich aufräumen inklusive aller ungenutzten Images und Volumes (Vorsicht)
docker builder pruneBuild-Cache leeren
docker versionVersion von Client und Server
docker infoSysteminformationen: Speicher-Treiber, Anzahl Container
docker context lsDocker-Kontexte (lokal, entfernte Hosts) anzeigen

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

Docker Befehle Liste für den Alltag

Der Docker Spickzettel enthält 66 Befehle für den Alltag: Container starten und verwalten, Images bauen und hochladen, Volumes und Netzwerke sowie docker compose für mehrere Dienste. Suchen Sie nach einem Stichwort wie „logs“ oder „löschen“ und kopieren Sie den Befehl. Platzhalter wie web, meinapp oder daten ersetzen Sie durch Ihre Namen.

Ein häufiger Fall ist „Docker Container löschen“: docker rm entfernt einen gestoppten Container, docker rm -f auch einen laufenden, und docker container prune räumt alle gestoppten auf. Volumes bleiben dabei erhalten. Erst docker volume rm oder docker compose down -v löschen die Daten darin. Schauen Sie vor großem Aufräumen mit docker system df, wie viel Platz belegt ist.

Die Befehle folgen der aktuellen Docker-CLI mit Compose v2, also docker compose mit Leerzeichen statt des älteren docker-compose. Lange docker run-Zeilen lassen sich mit dem Werkzeug docker run in Compose umwandeln in eine compose.yaml übertragen. Dieses Docker Cheat Sheet ersetzt keine Dokumentation, deckt aber die meisten täglichen Aufgaben ab.

Anleitung: Docker-Befehle in 3 Schritten

  1. Im Feld „Suchen“ ein Stichwort wie logs, volume oder prune eingeben.
  2. Unter „Gruppe“ einen Bereich wie Container starten, Images oder docker compose wählen.
  3. Mit „Kopieren“ den Befehl übernehmen und Namen wie web oder meinapp durch Ihre eigenen ersetzen.

Typische Anwendungsfälle

  • Fehlersuche im Container: Logs mitlesen, eine Shell öffnen oder Details mit docker inspect ansehen.
  • Speicher freigeben: Die passenden prune-Befehle finden, um gestoppte Container, ungenutzte Images und Volumes zu entfernen.
  • Compose-Projekte verwalten: Dienste starten, neu bauen und Logs ansehen, ohne die Optionen auswendig zu kennen.
  • Image veröffentlichen: Bauen, Taggen und Hochladen in eine Registry in der richtigen Reihenfolge nachschlagen.
Fragen

Häufige Fragen

Wie lösche ich alle gestoppten Docker-Container?

Mit docker container prune. Einen einzelnen Container entfernen Sie mit docker rm name; läuft er noch, mit docker rm -f name. Volumes bleiben dabei bestehen.

Was ist der Unterschied zwischen docker compose und docker-compose?

docker compose (mit Leerzeichen) ist Compose v2 und als Plugin Teil der Docker-CLI. docker-compose mit Bindestrich ist die ältere, eigenständige Version 1, die nicht mehr weiterentwickelt wird. Die Unterbefehle sind weitgehend gleich.

Wie komme ich in einen laufenden Container?

Mit docker exec -it name sh oder, falls das Image Bash enthält, docker exec -it name bash. Schlanke Images wie Alpine haben meist nur sh.

Wie viel Speicher belegt Docker?

docker system df zeigt den Platz für Images, Container, Volumes und Build-Cache. Mit docker system prune räumen Sie Ungenutztes auf; -a --volumes löscht deutlich mehr und sollte nur bewusst eingesetzt werden.

Was bedeutet -p 8080:80?

Die erste Zahl ist der Port auf Ihrem Rechner, die zweite der Port im Container. Mit -p 8080:80 erreichen Sie den Webserver im Container unter http://localhost:8080. Welche Dienste üblicherweise welche Ports nutzen, zeigt die Port-Liste.

Wie räume ich Docker komplett auf?

docker system prune -a --volumes löscht gestoppte Container, ungenutzte Netzwerke, alle nicht verwendeten Images, den Build-Cache und ungenutzte Volumes. Die Daten in diesen Volumes sind danach weg; prüfen Sie vorher mit docker system df, was betroffen ist.

Wie zeige ich die Umgebungsvariablen eines Containers an?

Bei einem laufenden Container mit docker exec web env. Unabhängig vom Zustand zeigt docker inspect web die beim Start gesetzten Variablen im Abschnitt Config.Env.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge