docker-compose su / giù solo un contenitore


22

Non sono stato in grado di trovare un modo per aumentare / ridurre un solo contenitore in un file docker-compose.yml. Posso avviare e arrestare fuori rotta un singolo contenitore, ma non posso apportare modifiche alla configurazione di un contenitore tra i riavvii (variabili di ambiente, punti di montaggio ecc.)

Cosa mi sto perdendo qui? Qual è la migliore pratica in questo caso?

Risposte:


3

Ho avuto questo bisogno di recente e l'ho risolto disponendo di un docker-compose-production.ymlfile separato per gestire le modifiche. Quindi ricordati di lanciarlo condocker-compose -f docker-compose-production.yml...


Come funziona quando arriva il momento di farlo docker-compose down? Non eliminerebbe tutti i contenitori che sono stati richiamati in tutti i file .yml?
Jordan Morris,

2
Puoi farlodocker-compose -f docker-compose-production.yml down
icarito il

10

Vorrei suggerire di dare un'occhiata a questo eccellente thread su stackoverflow.com. La risposta rapida qui per ricostruire il singolo contenitore e riavviarlo è:

docker-compose up -d --build worker

Questa sarebbe la soluzione ideale se, ad esempio, le tue modifiche riguardassero il tuo Dockerfile e non solo docker-compose.ymll


9

Ho scoperto che questo ha lo stesso effetto della composizione docker giù per un singolo servizio:

docker-compose rm -f -s -v yourService

docker-compose rm

Utilizzo: rm [opzioni] [SERVIZIO ...]

Opzioni:
-f, --force Non chiedere di confermare la rimozione
-s, --stop Fermare i contenitori, se necessario, prima di rimuovere
-v Rimuovere eventuali volumi anonimi collegati ai contenitori

Puoi condensare tutte le bandiere in un singolo -parametro:docker-compose rm -fsv yourService


Penso che disponga il disco, tra l'altro
Jordan Morris,

2
Potresti spiegare per favore le bandiere, cosa farebbero?
Semo

5

Puoi usare

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

per avviare solo il tuo servizio e tutte le dipendenze richieste da esso.

Quindi, se yourService dipende dal contenitore mysql, il comando precedente avvierebbe entrambi i contenitori.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.