Docker Compose mit Claude Code: Multi-Container-Apps 2026
Docker Compose vereinfacht Multi-Container-Setups dramatisch — Claude Code kennt alle Compose-Features: Service-Definitionen, Networking, Volumes, Health Checks und Dev-vs-Prod-Konfiguration.
Wer moderne Full-Stack-Applikationen entwickelt, kennt das Problem: Node.js-Backend, PostgreSQL-Datenbank, Redis-Cache, vielleicht noch ein Reverse-Proxy — all diese Dienste müssen koordiniert starten, miteinander kommunizieren und konfiguriert werden. Docker Compose löst genau das. Und Claude Code beschleunigt das Schreiben und Pflegen von Compose-Files erheblich.
In diesem Artikel zeigen wir, wie Claude Code dabei hilft, produktionsreife docker-compose.yml-Konfigurationen zu erstellen — inklusive Networking, persistenten Volumes, Health Checks und der Trennung von Entwicklungs- und Produktionsumgebung.
Was ist Docker Compose?
Docker Compose ist ein Tool zur Definition und Ausführung von Multi-Container-Docker-Anwendungen. Mit einer einzigen YAML-Datei beschreibst du alle Services, ihre Abhängigkeiten, Netzwerke und Speicherorte. Ein einziges docker compose up bringt die gesamte Infrastruktur zum Laufen.
docker compose (ohne Bindestrich). Das alte docker-compose (mit Bindestrich) ist veraltet. Claude Code verwendet automatisch die aktuelle Syntax.
Full-Stack-Setup mit Claude Code: Node + PostgreSQL + Redis
Fragen wir Claude Code direkt: "Erstelle eine vollständige docker-compose.yml für eine Node.js-App mit PostgreSQL und Redis, mit Health Checks und Named Volumes."
docker-compose.yml Basis-Konfiguration
Services, Volumes und Networks erklärt
Services
Jeder Service in Docker Compose entspricht einem Container. Die wichtigsten Felder:
- image oder build: Entweder ein fertiges Image aus dem Registry, oder ein lokales Dockerfile.
- ports: Port-Mapping vom Host-System in den Container (
HOST:CONTAINER). - environment: Umgebungsvariablen — direkt oder über
env_file. - depends_on: Startreihenfolge und optionale Health-Check-Bedingungen.
- restart: Neustart-Policy —
unless-stoppedist für Produktion empfohlen.
Volumes
Named Volumes wie postgres_data überleben das Löschen von Containern. Das ist essenziell für Datenbanken. Bind Mounts (./init.sql:/docker-entrypoint-initdb.d/init.sql) mounten Host-Pfade direkt in den Container.
Networks
Services im selben Netzwerk können sich über den Service-Namen ansprechen. Im Beispiel oben erreicht die App die Datenbank über den Hostnamen postgres — kein fester IP-Eintrag nötig. Claude Code erklärt auf Anfrage auch komplexere Netzwerk-Topologien mit mehreren Bridges oder externen Netzwerken.
Health Checks und depends_on richtig kombinieren
Eines der häufigsten Probleme bei Compose-Setups: Die App startet, bevor PostgreSQL bereit ist — und schlägt beim ersten DB-Connect fehl. Die Lösung: Health Checks mit Condition-basiertem depends_on.
COMPOSE Health Check mit Condition
condition: service_healthy erfordert, dass der abhängige Service einen healthcheck definiert hat. Fehlt der Healthcheck, startet der Container sofort — unabhängig davon, ob der Service tatsächlich bereit ist.
Dev vs. Production: docker-compose.override.yml
Ein elegantes Pattern in Docker Compose: Die Basis-docker-compose.yml enthält alle Services. Die Datei docker-compose.override.yml wird automatisch beim docker compose up zusätzlich geladen und überschreibt oder ergänzt die Basis-Konfiguration. Ideal für Entwicklungsumgebungen.
DEV docker-compose.override.yml (Entwicklung)
PROD docker-compose.prod.yml (Produktion)
Netzwerk-Isolation: Frontend vs. Backend
In produktiven Setups trennt man öffentlich erreichbare Services (Nginx) von internen Services (App, DB). Nur Nginx ist im frontend-Netzwerk und damit potentiell von außen erreichbar. Datenbank und Redis sind nur im backend-Netzwerk — kein direkter Zugriff von außen.
NETWORK Netzwerk-Isolation Architektur
Claude Code als Docker-Experte: Typische Prompts
Claude Code versteht Docker Compose auf einem tiefen Niveau. Hier sind Prompts, die in der Praxis besonders gut funktionieren:
- "Generiere eine docker-compose.yml für Node.js + PostgreSQL + Redis mit Health Checks und Named Volumes."
- "Erstelle ein docker-compose.override.yml für lokale Entwicklung mit Hot-Reload und Adminer."
- "Wie trenne ich Dev- und Prod-Konfiguration sauber mit mehreren Compose-Files?"
- "Meine App startet bevor die DB bereit ist — wie fixe ich das mit depends_on und healthcheck?"
- "Erkläre den Unterschied zwischen Named Volumes und Bind Mounts in Compose."
- "Füge Resource Limits (CPU, Memory) für alle Services hinzu."
docker-compose.yml lesen und Verbesserungen vorschlagen — zum Beispiel fehlende Health Checks ergänzen, Secrets aus Environment-Variablen auslagern oder Restart-Policies optimieren.
Secrets sicher verwalten
Passwörter und API-Keys gehören nicht direkt in die docker-compose.yml. Claude Code empfiehlt und implementiert dafür mehrere Strategien:
SECRETS Umgebungsvariablen aus .env-Datei
Nützliche Docker Compose Befehle
Claude Code kennt nicht nur das YAML-Format, sondern auch alle relevanten CLI-Befehle und erklärt sie auf Nachfrage:
CLI Wichtige Compose-Befehle
Fazit: Schneller zu produktionsreifen Setups
Docker Compose ist das Werkzeug der Wahl für lokale Entwicklung und einfache Deployments — von der kleinen Side-Project bis zur ernsthaften Business-Applikation. Die Konfiguration kann jedoch schnell komplex werden, besonders wenn Health Checks, mehrere Netzwerke, Secrets-Management und Dev-vs-Prod-Trennung zusammenkommen.
Claude Code kennt alle diese Patterns und kann innerhalb von Sekunden produktionsreife Compose-Konfigurationen generieren, bestehende Setups reviewen und konkrete Verbesserungen vorschlagen. Das spart nicht nur Zeit beim initialen Setup — es verhindert auch typische Fehler wie fehlende Restart-Policies, ungesicherte Ports oder fehlende Health Checks.
Im Zusammenspiel mit Multi-Stage-Dockerfiles, CI/CD-Pipelines und Zero-Downtime-Deploystrategien entsteht eine vollständige DevOps-Praxis, die Claude Code Schritt für Schritt begleitet — vom ersten docker-compose.yml bis zum automatisierten Produktions-Rollout.
DevOps-Modul im Kurs
Im Claude Code Mastery Kurs: vollständiges Docker-Modul mit Compose, Multi-Stage-Builds, CI/CD-Integration und Production-Deployment — inkl. Health Checks und Zero-Downtime-Updates.
14 Tage kostenlos testen →