Docker Compose Cheat Sheet
Die wichtigsten Docker Compose Schlüsselwörter und Befehle kurz erklärt, für mehrere Dienste in einer einzigen Datei.
Zuletzt aktualisiert: 1. September 2026
Grundgerüst einer Datei
services:Oberster Block, listet alle Dienste der Datei aufmein-dienst:Frei wählbarer Name eines einzelnen Dienstesimage:Fertiges Image aus einer Registry, das genutzt werden sollbuild:Baut stattdessen ein eigenes Image aus einem Dockerfilecontainer_name:Fester, eigener Name statt eines automatisch vergebenenNetzwerk und Ports
ports:Verbindet einen Port des Containers mit einem Port des Hostsnetworks:Legt fest, mit welchen Docker Netzwerken sich der Dienst verbindetnetwork_mode: hostNutzt direkt das Netzwerk des Hosts, ohne Docker Netzwerk dazwischenexpose:Öffnet einen Port nur für andere Container, nicht nach außenDaten und Umgebung
volumes:Verbindet einen Ordner des Hosts dauerhaft mit dem Containerenvironment:Setzt Umgebungsvariablen direkt in der Dateienv_file:Lädt Umgebungsvariablen stattdessen aus einer separaten DateiVerhalten und Abhängigkeiten
restart:Legt fest, wann ein Container automatisch neu gestartet wirddepends_on:Startet einen Dienst erst, nachdem ein anderer gestartet wurdehealthcheck:Prüft regelmäßig, ob ein Dienst wirklich funktionsfähig istrestart: unless-stoppedStartet automatisch neu, außer der Container wurde bewusst gestopptBefehle im Terminal
docker compose up -dStartet alle Dienste im Hintergrunddocker compose downStoppt und entfernt alle Dienste der Dateidocker compose buildBaut die Images neu, die in build: definiert sinddocker compose logs -fZeigt die Protokolle aller Dienste fortlaufend anPrüfen und Verwalten
docker compose psZeigt den Status aller Dienste dieser Dateidocker compose restartStartet alle Dienste der Datei neudocker compose configPrüft die Datei auf Fehler und zeigt die endgültige Konfigurationdocker compose pullLädt neuere Versionen der genutzten Images herunterZum Anschauen
Ein einfaches Beispiel
So sieht eine sehr einfache Compose Datei mit einem einzigen Dienst aus.
| docker-compose.yml | |
|---|---|
services: | Beginn des Dienste Blocks |
webserver: | Name des Dienstes, hier frei gewählt |
image: nginx:latest | Nutzt das fertige, offizielle Nginx Image |
ports: | Beginn der Port Zuordnung |
- "8080:80" | Port 8080 des Hosts zeigt auf Port 80 im Container |
restart: unless-stopped | Startet automatisch neu, außer bewusst gestoppt |
Die Einrückung in einer YAML Datei, wie Docker Compose sie nutzt, ist entscheidend, sie legt fest, was zu welchem Block gehört. Ein einzelnes falsch gesetztes Leerzeichen kann bereits zu einem Fehler führen.