Mar 16, 2026
Faradilla A.
6Min. Lesezeit
Docker Compose ist ein Tool zum Definieren und Ausführen von Anwendungen mit mehreren Containern. Entwickler verwenden es, um die Verwaltung miteinander verbundener Dienste zu vereinfachen, etwa durch die Kombination einer Front-End-Anwendung mit einem Datenbankserver, sodass sich der gesamte Anwendungsstack einfacher verwalten lässt.
Mithilfe einer einzigen YAML-Datei ermöglicht Docker Compose die Definition der für eine Anwendung erforderlichen Infrastruktur, einschließlich des zu verwendenden Images, der internen Netzwerkkonfiguration und der einzubindenden persistenten Volumes. Anschließend können Sie alle Container auf Grundlage dieser Konfiguration erstellen, indem Sie den Befehl docker compose up ausführen.
Während des gesamten Projektlebenszyklus können Sie Container mit weiteren Docker-Compose-Befehlen verwalten. Beispielsweise fährt docker compose down alle Dienste herunter, während docker compose ps die in der YAML-Datei definierten, aktuell laufenden Container auflistet.
Um Docker Compose zu verwenden, müssen Docker Engine und Docker CLI installiert sein. Anschließend richten Sie das Tool ein, indem Sie das Plugin über den Paketmanager Ihres Systems oder über Homebrew installieren. Wenn Sie Docker Desktop verwenden, ist dieses Orchestrierungs-Tool bereits standardmäßig enthalten.
Lesen Sie weiter, um mehr darüber zu erfahren, was Docker Compose ist und wie Sie es zur Verwaltung von Multi-Container-Anwendungen einsetzen.
Docker Compose ist ein Tool, mit dem Entwickler Multi-Container-Docker-Anwendungen definieren und ausführen können. Sein Hauptzweck besteht darin, die Verwaltung mehrerer Dienste zu vereinfachen, zu zentralisieren und zu vereinheitlichen.
Docker Compose basiert auf einer einzelnen YAML-Datei, in der Sie alle Aspekte der Container Ihrer Anwendung definieren: welches Image jeder Service verwenden soll, wie die Services miteinander kommunizieren und wo persistente Daten gespeichert werden. Auf Grundlage dieser Konfiguration können Sie die Container erstellen und verwalten.
Docker Compose funktioniert, indem in der YAML-Datei drei zentrale Komponenten einer Multi-Container-Anwendung definiert werden: Services, Netzwerke und Volumes.
Wenn Sie eine Anwendung auf Grundlage der YAML-Datei starten, lädt Docker Compose das Image herunter oder erstellt es, um den jeweiligen Service zu erzeugen, der als Container ausgeführt wird.
Anschließend erstellt Docker Compose ein internes Netzwerk, damit Services miteinander kommunizieren können, und initialisiert Volumes zur Speicherung persistenter Daten, die von Containern gemeinsam genutzt werden können. Außerdem richtet Docker Compose Umgebungsvariablen für jeden Service ein, damit Daten übergeben werden können, ohne Werte direkt im Image des jeweiligen Services hart zu kodieren.
Alle Konfigurationen – einschließlich des zu verwendenden Images, der Netzwerkkonfiguration, der Einbindung persistenter Volumes und der einzuschließenden Umgebungsvariablen – werden in der YAML-Datei definiert. Dadurch können Sie alle Container Ihrer Anwendung über diese Datei erstellen und verwalten.
Hier ist ein Beispiel für eine Docker-Compose-YAML-Datei, die ein Projekt mit zwei miteinander verbundenen Services beschreibt: eine einfache Webanwendung und eine Redis-Cache-Instanz.
Um die Konfiguration besser zu verstehen, sehen Sie sich die Kommentare im Beispiel an. Sie erklären, welche Funktion die jeweilige Zeile erfüllt.
services:
web: # Service für die Webanwendung
build: . # Erstellt das Image aus dem Dockerfile im aktuellen Verzeichnis
ports:
- "8000:5000" # Ordnet Host-Port 8000 dem Container-Port 5000 zu
depends_on:
- redis # Stellt sicher, dass 'redis' vor 'web' gestartet wird
volumes:
- ./:/app # Bindet das aktuelle Verzeichnis im Container unter /app ein (Bind-Mount)
environment:
REDIS_HOST: ${REDIS_HOST:-redis} # Setzt REDIS_HOST aus der Umgebung oder verwendet standardmäßig 'redis'
redis: # Service für den Redis-Cache
image: redis:6 # Verwendet das offizielle Redis-Image (Version 6)
expose:
- "6379" # Stellt Port 6379 anderen Services innerhalb des Docker-Netzwerks zur Verfügung
volumes:
- redis_data:/data # Speichert Redis-Daten dauerhaft in einem benannten Volume
volumes:
redis_data: {} # Deklariert das benannte Volume zur persistenten Speicherung der Redis-DatenBeachten Sie, dass der genaue Inhalt der YAML-Datei je nach Anwendung, Services und verwendeter Konfiguration variieren kann.
Die Schritte zur Installation von Docker Compose variieren je nach Docker-Umgebung und Betriebssystem.
Wenn Sie Docker Desktop verwenden, ist Compose bereits vorkonfiguriert. Wenn Sie mit der Docker CLI arbeiten, können Sie das Compose-Plugin entweder aus dem offiziellen Repository installieren oder manuell herunterladen. Im Folgenden wird die Installation über das offizielle Repository erläutert, da sich dadurch zukünftige Updates einfacher durchführen lassen.
Bevor Sie fortfahren, stellen Sie sicher, dass Docker Engine und Docker CLI installiert und eingerichtet sind. Falls dies noch nicht der Fall ist, lesen Sie unsere Anleitung zur Installation von Docker auf Ubuntu, um die erforderlichen Schritte kennenzulernen.
Sobald Engine und CLI eingerichtet sind, installieren Sie Compose entsprechend Ihrem Betriebssystem. Unter Linux können Sie dies über den Paketmanager Ihres Systems erledigen. Auf Debian-basierten Distributionen verwenden Sie beispielsweise die folgenden Befehle:
sudo apt update
sudo apt install docker-compose-plugin
Wenn Sie ein Betriebssystem verwenden, das nicht auf Debian basiert, ersetzen Sie apt durch den entsprechenden Paketmanager. Verwenden Sie beispielsweise dnf, wenn Sie eine RHEL-basierte Distribution einsetzen.
macOS-Benutzer installieren Docker Compose über Homebrew mit folgendem Befehl:
brew install docker-compose
Unter Linux und macOS können Sie überprüfen, ob Docker Compose erfolgreich installiert wurde, indem Sie den folgenden Befehl ausführen:
docker compose version
Wenn Docker Compose korrekt konfiguriert ist, wird die installierte Versionsnummer im Terminal angezeigt.

Mit Docker Compose können Sie die Konfiguration Ihrer Anwendung definieren, den Stack starten und seinen gesamten Lebenszyklus mit einem einzigen Tool verwalten.
Um zu veranschaulichen, wie Docker Compose in der Praxis eingesetzt wird, nehmen wir an, Sie möchten WordPress unter Ubuntu mit Docker ausführen. Der grundlegende Workflow sieht wie folgt aus.
docker compose up
docker compose down
Sie können das Verhalten des Befehls docker compose mit Flags anpassen. Wenn Sie beispielsweise eine Konfigurationsdatei verwenden möchten, die nicht den Standardnamen verwendet, fügen Sie das Flag -f oder –file hinzu, um die Datei anzugeben, die Docker Engine verwenden soll:
docker compose -f your-compose-file.yaml up
Standardmäßig erstellt Docker Compose die Container im aktuellen Arbeitsverzeichnis. Wenn Sie die Anwendung in einem anderen Verzeichnis ausführen möchten, verwenden Sie das Flag –project-directory und geben den gewünschten Pfad an:
docker compose --project-directory /full/deployment/path up
Docker Compose startet die bereitgestellte Anwendung standardmäßig in der aktuellen Terminalsitzung. Wenn Sie Ihr Projekt im Hintergrund erstellen und ausführen möchten, fügen Sie das Flag -d oder –detach hinzu.
Sie können auch mehrere Flags kombinieren, indem Sie sie mit einem Backslash trennen. Verwenden Sie beispielsweise den folgenden Befehl, um eine Anwendung aus einer YAML-Datei mit einem bestimmten Namen in einem anderen Verzeichnis bereitzustellen:
docker compose \ -f /path/to/my-docker-compose.yaml \ --project-directory /path/to \ up
Wenn Sie Container entfernen, bleiben die Daten erhalten, da sie in persistenten Volumes gespeichert bleiben. Wenn Sie auch die Volumes entfernen möchten, verwenden Sie das Flag –volumes:
docker compose down --volumes
Neben up und down gibt es weitere Docker-Compose-Befehle zur Verwaltung des gesamten Anwendungs-Stacks. Zu den am häufigsten verwendeten gehören:
Docker umfasst verschiedene Konzepte, Begriffe und Tools, die jeweils unterschiedliche Rollen innerhalb des Container-Ökosystems erfüllen. Wenn Sie diese verstehen, können Sie die Plattform effizienter einsetzen.
Docker Compose ist Teil des Docker-Ökosystems und wird häufig mit der Docker CLI verwechselt. Beide sind Kommandozeilenwerkzeuge zur Verwaltung von Docker-Ressourcen, unterscheiden sich jedoch in mehreren wichtigen Punkten.
Hier ist ein Vergleich zwischen Docker CLI und Docker Compose.
| Aspekt | Docker-CLI | Docker Compose |
| Anwendungsfall | Am besten geeignet für Setups mit einem einzelnen Container | Entwickelt für Anwendungen mit mehreren Containern |
| Orchestrierung | Manuell – Sie müssen jeden Container einzeln starten | Automatisiert – alle Services werden über eine einzige YAML-Datei verwaltet |
| Konfigurationsformat | Die Konfiguration wird direkt im Befehl mithilfe von Flags angegeben | Die Konfiguration wird in einer YAML-Datei definiert |
| Wiederverwendbarkeit und Portabilität | Das Teilen und Reproduzieren komplexer Setups ist schwieriger, da die Konfiguration innerhalb einzelner Befehle definiert wird | Konfigurationen lassen sich leicht versionieren und wiederverwenden, da Projekte aus einer eigenständigen Konfigurationsdatei erstellt werden können |
| Test- und Entwicklungsumgebungen | Für Entwicklungsumgebungen mit mehreren Services aufwendig zu verwalten | Ideal für die lokale Entwicklung, da alle Services in einer einzigen Datei definiert sind |
| Produktive Nutzung | Für den Produktiveinsatz einfacher Projekte geeignet, jedoch weniger für Anwendungen mit mehreren Services | Kann auch in Produktionsumgebungen eingesetzt werden, wird bei größeren Projekten jedoch häufig durch Docker Swarm oder Kubernetes ersetzt |
| Lernkurve | Für Einsteiger einfacher, da nur eine Anwendung mit einem einzelnen Container verwaltet wird | Etwas steiler, dafür besser für reale Projekte geeignet |
Sobald Sie gelernt haben, mit Docker Compose zu arbeiten, können Sie das Tool verwenden, um Ihr Multi-Service-Projekt effizient zu verwalten. In der Praxis kann es jedoch erforderlich sein, direkt mit einzelnen Containern zu arbeiten, beispielsweise um einen neuen Service hinzuzufügen oder Probleme in einem bestimmten Teil Ihrer Anwendung zu beheben.
Vor diesem Hintergrund ist es wichtig zu lernen, wie Sie einen Docker-Container erstellen, damit Sie im gesamten Docker-Ökosystem effizienter arbeiten können.
Beachten Sie außerdem, dass Docker Compose und Container zwar zentrale Konzepte dieser Containerisierungsplattform sind, Sie jedoch weitere Tools kennenlernen müssen, wenn Ihr Projekt wächst. Beispielsweise können Sie zu Kubernetes oder Docker Swarm wechseln, um mehrere Container zuverlässiger zu orchestrieren.
Wenn Sie eine containerisierte Anwendung auf der VPS-Hosting-Lösung von Hostinger bereitstellen möchten, können Sie die Funktion Docker Compose Manager verwenden. Diese stellt ein in hPanel integriertes Verwaltungs-Dashboard bereit, mit dem Sie die Bereitstellung und Verwaltung Docker-basierter Anwendungen optimieren können.

Alle Tutorial-Inhalte auf dieser Website unterliegen Hostingers strengen redaktionellen Standards und Normen.