Compose: Globale/Standardüberschreibung für alle Dienste

Erstellt am 19. Apr. 2017  ·  3Kommentare  ·  Quelle: docker/compose

Was ich tun möchte, ist, meine umgebungsspezifischen Optimierungen in eine override.yml aufzuteilen, nichts Besonderes dort ... meine Überschreibungen werden jedoch für jeden einzelnen bereitgestellten Dienst genau gleich sein und ich möchte vermeiden, dass ich für jeden die gleiche Überschreibung schreiben muss einzelnen Dienst (und fügen Sie der Überschreibung ständig neue Abschnitte hinzu, wenn neue Dienste eingeführt werden).

Stattdessen möchte ich eine Definition erstellen, die besagt "auf diese Überschreibung auf jeden einzelnen Dienst anwenden". Existiert schon ein solches Konzept, das mir vielleicht fehlt?

Beispiel ...

docker-compose.yml:

  aservice:
    image: whatever1
    environment:
      FOO: BAR

eine andere docker-compose.yml:

  anotherservice:
    image: whatever2

meine docker-compose.override.yml:

  <magickeyword>:
    environment:
      FLIBBLE: flobble
    dns:
      - server1
      - server2

Jeder bereitgestellte Dienst hätte nun DNS server1 & server2 und die Umgebungsvariable FLIBBLE.

Mir ist klar, dass ich dies tun könnte, wenn alle Dienste denselben Basisdienst erweitern würden, auf den ich die Überschreibung anwenden könnte, aber gibt es trotzdem eine globale / Standardüberschreibung ohne eine gemeinsame Erweiterung?

Im Moment habe ich einen Hack, der ein generiertes Override-Scannen für alle definierten Dienste beinhaltet und die Override-Datei im Handumdrehen generiert, aber es scheint ein Anwendungsfall zu sein, auf den ich nicht der Erste sein kann, der sich so fragt, ob ich vielleicht haben die offensichtliche Lösung dafür beim Komponieren gerade verpasst.

kinquestion

Hilfreichster Kommentar

Alle 3 Kommentare

Sie könnten einfach eine base.yml Datei in jedem Projektordner mit einem base Dienst haben, der nur Ihren environment Schlüssel enthält, und dann jeden Dienst den base Dienst erweitern lassen.

Dies ist keine gute Lösung mehr, da extends: in 3.x entfernt wurde https://github.com/moby/moby/issues/31101

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen