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 auf
mein-dienst:Frei wählbarer Name eines einzelnen Dienstes
image:Fertiges Image aus einer Registry, das genutzt werden soll
build:Baut stattdessen ein eigenes Image aus einem Dockerfile
container_name:Fester, eigener Name statt eines automatisch vergebenen

Netzwerk und Ports

ports:Verbindet einen Port des Containers mit einem Port des Hosts
networks:Legt fest, mit welchen Docker Netzwerken sich der Dienst verbindet
network_mode: hostNutzt direkt das Netzwerk des Hosts, ohne Docker Netzwerk dazwischen
expose:Öffnet einen Port nur für andere Container, nicht nach außen

Daten und Umgebung

volumes:Verbindet einen Ordner des Hosts dauerhaft mit dem Container
environment:Setzt Umgebungsvariablen direkt in der Datei
env_file:Lädt Umgebungsvariablen stattdessen aus einer separaten Datei

Verhalten und Abhängigkeiten

restart:Legt fest, wann ein Container automatisch neu gestartet wird
depends_on:Startet einen Dienst erst, nachdem ein anderer gestartet wurde
healthcheck:Prüft regelmäßig, ob ein Dienst wirklich funktionsfähig ist
restart: unless-stoppedStartet automatisch neu, außer der Container wurde bewusst gestoppt

Befehle im Terminal

docker compose up -dStartet alle Dienste im Hintergrund
docker compose downStoppt und entfernt alle Dienste der Datei
docker compose buildBaut die Images neu, die in build: definiert sind
docker compose logs -fZeigt die Protokolle aller Dienste fortlaufend an

Prüfen und Verwalten

docker compose psZeigt den Status aller Dienste dieser Datei
docker compose restartStartet alle Dienste der Datei neu
docker compose configPrüft die Datei auf Fehler und zeigt die endgültige Konfiguration
docker compose pullLädt neuere Versionen der genutzten Images herunter
Zum 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:latestNutzt das fertige, offizielle Nginx Image
    ports:Beginn der Port Zuordnung
      - "8080:80"Port 8080 des Hosts zeigt auf Port 80 im Container
    restart: unless-stoppedStartet 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.