Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Docker Compose: Multi-Container-Anwendungen leicht gemacht

02. 03. 2015 Aktualisiert: 24. 03. 2026 1 Min. Lesezeit CORE SYSTEMSai
Dieser Artikel wurde veröffentlicht im Jahr 2015. Einige Informationen können veraltet sein.
Docker Compose: Multi-Container-Anwendungen leicht gemacht

Docker Compose ermöglicht es, Multi-Container-Anwendungen mit einem einzigen Befehl zu definieren und auszuführen. Ein praktischer Leitfaden vom Development-Setup bis zu Integrationstests.

Vom Dockerfile zur gesamten Anwendung

Docker hat das „Works on my machine”-Problem für einzelne Container gelöst. Docker Compose geht weiter — es definiert den gesamten Application Stack in einer einzigen YAML-Datei. Webserver, Datenbank, Cache, Message Broker — alles gestartet mit einem docker-compose up.

Compose ist ein zentrales Tool für die lokale Entwicklung und CI/CD-Pipelines. Jeder Entwickler erhält innerhalb von Sekunden eine identische Umgebung.

Aufbau von docker-compose.yml

Eine typische Webanwendung in Compose:

version: '2'
services:
  web:
    build: .
    ports:
      - "8080:80"
    volumes:
      - ./src:/app/src
    depends_on:
      - db
      - redis
    environment:
      DATABASE_URL: postgres://user:pass@db:5432/app

  db:
    image: postgres:9.5
    volumes:
      - pgdata:/var/lib/postgresql/data

  redis:
    image: redis:3-alpine

volumes:
  pgdata:

Services, Networks und Volumes — die drei Säulen der Compose-Konfiguration.

Development-Workflow mit Compose

Compose transformiert das Onboarding neuer Entwickler:

  • git clone + docker-compose up = eine funktionierende Umgebung
  • Hot Reload über Bind Mounts (volumes)
  • Isolierte Datenbanken — keine Konflikte zwischen Projekten
  • docker-compose run web pytest für Tests in derselben Umgebung

Für CI/CD-Pipelines genügt docker-compose -f docker-compose.test.yml up --abort-on-container-exit, um Integrationstests auszuführen.

Best Practices und Tipps

Einige bewährte Regeln:

  • Verwenden Sie eine .env-Datei für Umgebungsvariablen
  • Definieren Sie Health Checks für zuverlässiges depends\_on
  • Trennen Sie Produktions- und Entwicklungs-Override-Dateien (docker-compose.override.yml)
  • Benennen Sie Volumes, um Daten zwischen Neustarts zu erhalten
  • Verwenden Sie docker-compose logs -f service\_name zum Debugging

Fazit: Der Standard für lokale Entwicklung

Docker Compose wird zum De-facto-Standard für lokale Entwicklungsumgebungen. Es beseitigt „Works on my machine”-Probleme, beschleunigt das Onboarding und gewährleistet Konsistenz zwischen Entwicklung und Produktion. Jedes Projekt sollte seine eigene docker-compose.yml haben.

dockerdocker composekontejnerydevopsmicroservicesinfrastruktura
Teilen:

CORE SYSTEMS

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns
Brauchen Sie Hilfe bei der Implementierung? Termin vereinbaren