Zurück zur Übersicht

Begriff

Docker Compose

Containerization Orchestration S1
2 Quellen 2 Lernpfade 3 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Ein einzelner Container (docker run) ist wie eine einzelne Geige. Schön, aber kein Orchester. Eine echte App braucht Datenbank, Webserver, Cache und API. Wenn du dafür 4 Terminal-Fenster öffnest und 4 Befehle tippst, wirst du wahnsinnig. Docker Compose ist der Dirigent. Du schreibst einen Plan (docker-compose.yml), in dem alle Instrumente (Services) stehen. Ein Befehl: docker compose up. Docker startet alles, vernetzt es und zeigt dir alle Logs an einer Stelle. Es ist der Standard für lokale Entwicklung.

Merksatz: Ein Werkzeug zur Definition und Ausführung von Multi-Container-Docker-Anwendungen, konfiguriert über eine YAML-Datei.

Für lokale Projekte ist ein Compose Override besonders nützlich: Die Basisdatei bleibt stabil, während lokale Ports, Volumes oder Debug-Settings getrennt überschrieben werden.


Quick-Check

  1. Was bedeutet version: "3"?
    Früher wichtig für Swarm-Kompatibilität. In der neuen Compose Spec (V2) ist das Version-Feld optional und wird oft ignoriert. Docker empfiehlt, es wegzulassen.
  2. Healthchecks?
    Du kannst im Compose File definieren: healthcheck: test: ["CMD", "curl", "-f", "localhost"]. Compose startet abhängige Services erst, wenn der Healthcheck "healthy" ist (service_healthy), nicht nur "running".
  3. .env Files?
    Compose lädt automatisch .env im gleichen Ordner. Du kannst Variablen in der YAML nutzen: image: myapp:${TAG}. Perfekt für Versionierung.