Zurück zur Übersicht

Begriff

Compose Override

Containerization Docker S2
2 Quellen 0 Lernpfade 1 Backlink 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.

Du hast eine docker-compose.yml für dein Team. Darin steht: "Starte Webserver auf Port 80." Aber auf deinem lokalen Laptop ist Port 80 schon belegt. Du willst Port 8080 nutzen. Du willst die Datei nicht ändern (weil Git dann meckert). Lösung: Compose Override. Du erstellst eine zweite Datei: docker-compose.override.yml. Darin schreibst du nur die Änderung: "Für Webserver: Nutze Port 8080". Docker liest automatisch beide Dateien und verschmilzt sie (Merge). Die Override-Datei wird oft in .gitignore gepackt, damit jeder Entwickler seine eigenen lokalen Anpassungen haben kann.

Merksatz: Ein Mechanismus in Docker Compose, um Konfigurationen aus einer Basisdatei (docker-compose.yml) durch eine zweite Datei (docker-compose.override.yml) zu ergänzen oder zu überschreiben, ohne die Originaldatei zu verändern.


Quick-Check

  1. Muss ich die Override-Datei angeben?
    Nein. Wenn sie docker-compose.override.yml heißt, lädt Docker sie automatisch. Das ist Standard-Verhalten. Wenn sie anders heißt, musst du -f nutzen.
  2. Kann ich Services löschen?
    Nein. Overrides sind additiv. Du kannst keine Services "weg-konfigurieren". Du kannst sie nur stoppen (replicas: 0 oder Profiles nutzen).
  3. Warum .gitignore?
    Weil in der Override oft lokale Pfade (/Users/rixx/projekt), Secrets oder Debug-Ports stehen, die auf dem Produktionsserver nichts zu suchen haben.