Loading...

Wie du Docker Compose nutzt

Jonas Scholz - Co-Founder von sliplane.ioJonas Scholz
5 min

Docker Compose ist ein Tool, das die Verwaltung und Ausführung von Anwendungen mit mehreren Containern in Docker einfacher macht. Es ermöglicht dir, alle Services, die deine Anwendung benötigt, in einer einzigen YAML-Datei zu definieren und dann mit nur einem Befehl zu starten. Lass mich dir zeigen, wie du Docker Compose nutzen kannst und welche wichtigen Features es bietet.

Erste Schritte mit Docker Compose

Um Docker Compose zu nutzen, brauchst du eine docker-compose.yml oder compose.yml Datei. Diese Datei listet alle Services (Container) auf, die deine Anwendung benötigt. Wenn du beispielsweise eine Webanwendung baust, könntest du Services für einen Webserver, eine Datenbank und einen Cache haben.

Hier ist, wie du Docker Compose zur Verwaltung deiner Anwendung verwenden kannst:

Grundlegende Nutzung

Um deine Anwendung zu starten, navigiere zum Verzeichnis mit deiner Compose-Datei und führe aus:

docker compose up

Dieser Befehl liest die docker-compose.yml oder compose.yml Datei in deinem aktuellen Verzeichnis und startet alle darin definierten Services.

Verschiedene Compose-Dateien verwenden

Manchmal möchtest du vielleicht unterschiedliche Compose-Dateien für verschiedene Umgebungen oder Konfigurationen verwenden. Du kannst mit dem -f Flag angeben, welche Datei verwendet werden soll. Wenn du beispielsweise eine Datei namens docker-compose.prod.yml für deine Production-Umgebung hast, kannst du sie so starten:

docker compose -f docker-compose.prod.yml up

Du kannst auch mehrere Compose-Dateien nutzen, um Konfigurationen zu kombinieren. Wenn du eine Basiskonfiguration und eine Override-Datei hast, kannst du sie so kombinieren:

docker compose -f docker-compose.yml -f docker-compose.override.yml up

In diesem Fall überschreiben oder ergänzen die Einstellungen in docker-compose.override.yml diejenigen in docker-compose.yml.

Einen Projektnamen setzen

Docker Compose verwendet Projektnamen, um zusammengehörige Container zu gruppieren. Du kannst einen benutzerdefinierten Projektnamen mit dem -p Flag setzen. Zum Beispiel:

docker compose -p meinprojekt up

Das ist hilfreich, wenn du mehrere Docker Compose-Projekte auf demselben System betreibst und sie organisiert halten möchtest.

Profile für optionale Services nutzen

Mit Profilen kannst du optionale Services aktivieren oder deaktivieren. Wenn du Services hast, die du nur manchmal benötigst, kannst du sie in deiner Compose-Datei mit einem Profil kennzeichnen. Dann kannst du diese Services beim Starten deiner Anwendung aktivieren. Zum Beispiel:

docker compose --profile debug up

Dieser Befehl startet deine Anwendung mit aktiviertem debug-Profil, das zusätzliche Debugging-Tools oder Services enthalten könnte.

Parallelität konfigurieren

Beim Herunterladen von Images oder Bauen von Services kann Docker Compose diese Aufgaben parallel ausführen, um Zeit zu sparen. Du kannst den Grad der Parallelität mit dem --parallel Flag steuern. Um die Parallelität auf eine Aufgabe gleichzeitig zu beschränken:

docker compose --parallel 1 pull

Umgebungsvariablen setzen

Du kannst Umgebungsvariablen verwenden, um anzupassen, wie Docker Compose läuft. Um beispielsweise eine andere Compose-Datei anzugeben, ohne das -f Flag zu verwenden, kannst du die COMPOSE_FILE Umgebungsvariable setzen:

export COMPOSE_FILE=docker-compose.prod.yml
docker compose up

Ähnliche Umgebungsvariablen gibt es für Projektnamen (COMPOSE_PROJECT_NAME), Profile (COMPOSE_PROFILES) und Parallelität (COMPOSE_PARALLEL_LIMIT).

Befehle mit Dry Run testen

Bevor du Änderungen an deiner Anwendung vornimmst, kannst du Befehle mit dem --dry-run Flag testen. Dies zeigt dir, was Docker Compose tun würde, ohne es tatsächlich zu tun. Zum Beispiel:

docker compose --dry-run up

Dieser Befehl listet alle Schritte auf, die Docker Compose unternehmen würde, um deine Anwendung zu starten, startet aber tatsächlich nichts.

Häufige Docker Compose Befehle

Hier sind einige gängige Befehle, die du mit Docker Compose verwenden wirst:

  • docker compose build: Baut oder aktualisiert Services.
  • docker compose up: Erstellt und startet Container.
  • docker compose down: Stoppt und entfernt Container und Netzwerke.
  • docker compose logs: Zeigt die Ausgabe der Container an.
  • docker compose ps: Listet Container auf.
  • docker compose exec: Führt einen Befehl in einem laufenden Container aus.

Jeder dieser Befehle kann mit den Optionen und Flags, die wir besprochen haben, wie -f, -p, --profile und --parallel, an deine speziellen Bedürfnisse angepasst werden.

Durch die Verwendung von Docker Compose vereinfachst du die Verwaltung deiner Docker-Anwendungen mit mehreren Containern und machst es dir leichter, deine Projekte zu entwickeln, zu testen und zu deployen.

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!