2016-05-09 3 views
0

Wenn ich (vereinfacht) haben, wird die folgende Docker-compose.yml:Konfigurieren Docker-compose Überschreibung zu ignorieren/verstecken einige Container

parent: 
    image: parent 
    links: 
    - child 

child: 
    image: child 

Kann ich ein Konstrukt Docker-compose.override.yml Datei, die wird nicht erstellen oder starten Sie die child Bild?


Eine unerwünschte (für mich) Lösung wäre es, die Dateien rückgängig zu machen, so dass die Standard-yml Datei nur die parent schaffen würde, und die Überschreibungs beide schaffen würden.

Allerdings möchte ich die Master Konfigurationsdatei das häufigste Anwendungsszenario enthalten.

Antwort

0

Sie müssen nicht jeden Dienst starten, wenn Sie Compose ausführen, Sie können einfach up ausführen und die Namen der zu startenden Dienste übergeben. Siehe die offizielle Referenz für uphere.

So zum Beispiel: docker-compose up -d parent

0

Zur Verteidigung des ursprünglichen Plakats: Ich total bekommen, warum Sie dies tun wollen. Der Docker-compose Weg scheint immer „in den Override-Dateien stellen Sie Ihre Variation“ zu sein, aber im Interesse der Dinge einfach in einem großen Entwicklungsteam zu halten, Ich mag:

  • Die Fähigkeit, alles zu beginnen einen Befehl (zB „docker-komponieren up“ oder „docker-komponieren up main“)
  • Alle meine docker Definitionen an einem Ort
    • Die einzige Veränderung in Überschreibung von Dateien zu sein, die Container sind deaktiviert

Hier ist, wie ich es in meinen Override-Dateien habe ...

Added andere Docker Definitionsdatei:

./disabled/Dockerfile 

... mit Inhalt:

FROM alpine 
CMD true 

Dann overrode I Die Dockerdatei, der Befehl und der Einstiegspunkt aller Container, die ich in meiner Überschreibungsdatei deaktivieren wollte:

# Disable database containers 
    postgres: 
    build: ./disabled/ 
    command: "true" 
    entrypoint: "true" 
    mysql: 
    build: ./disabled/ 
    command: "true" 
    entrypoint: "true" 

Das Ergebnis ist, alle Container werden von "docker-compose up" gestartet, aber diejenigen, die ich überschrieben habe, sterben sofort.

Wenn Sie einen immer leichteren Container als alpin wünschen, versuchen Sie tianon/true.

Verwandte Themen