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?

Inquisitor Shm
quelle

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...

icarito
quelle
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

Jordan Morris
quelle
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

gabriel1836
quelle
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.

user674669
quelle