Docker-Compose auf / ab nur einen Container


32

Es ist mir nicht gelungen, nur einen Container in einer docker-compose.yml-Datei nach oben oder unten zu verschieben. Ich kann einen einzelnen Container vom Kurs abweichen, aber zwischen Neustarts (Umgebungsvariablen, Mount-Punkte usw.) keine Änderungen an einer Containerkonfiguration vornehmen.

Was vermisse ich hier? Was ist in diesem Fall die beste Vorgehensweise?

Antworten:


3

Ich hatte dieses Bedürfnis vor kurzem und löste es, indem ich eine unterschiedliche docker-compose-production.ymlAkte hatte, um Tweaks zu beschäftigen. Dann denken Sie daran, mit zu startendocker-compose -f docker-compose-production.yml...


Wie funktioniert das, wenn es Zeit ist docker-compose down? Würde es nicht alle Container zum Absturz bringen, die in allen .yml-Dateien angezeigt wurden?
Jordan Morris

2
Sie können tundocker-compose -f docker-compose-production.yml down
icarito

Und wo spezifizierst du den Container, den du hoch / runter bringen möchtest? -fist der Selektor der Compose-Datei, nicht des Containers.
Astrowalker

29

Ich habe festgestellt, dass dies den gleichen Effekt hat wie das Herunterfahren des Andockfensters für einen einzelnen Dienst:

docker-compose rm -f -s -v yourService

docker-compose rm

Verwendung: rm [Optionen] [SERVICE ...]

Optionen:
-f, --force Bitten Sie nicht um Bestätigung des Entfernens
. -S, --stop Stoppen Sie die Container, falls erforderlich, bevor Sie
-v entfernen. Entfernen Sie alle anonymen Volumes, die mit Containern verbunden sind

Sie können alle Flags zu einem einzigen -Parameter zusammenfassen:docker-compose rm -fsv yourService


Ich denke, entsorgt die Festplatte, übrigens
Jordan Morris

2
Könnten Sie bitte die Flaggen erklären, was sie tun würden?
Semo

13

Ich würde vorschlagen, dass Sie sich diesen exzellenten Thread auf stackoverflow.com ansehen. Die schnelle Antwort hier, um den einzelnen Container neu zu erstellen und neu zu starten, lautet:

docker-compose up -d --build worker

Dies ist die ideale Lösung, wenn Ihre Änderungen beispielsweise Ihre Docker-Datei und nicht nur die Datei docker-compose.ymll betreffen


7

Sie können verwenden

$ docker-compose -f docker-compose.yml up yourService

um nur yourService und alle von ihm benötigten Abhängigkeiten zu starten.

Wenn yourService von mysql container abhängt, werden mit dem obigen Befehl beide Container gestartet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.