2016-05-16 10 views
11

Mi trovo nella situazione, che voglio disabilitare temporaneamente un servizio in un file docker-compose.C'è un modo per disabilitare un servizio in docker-compose.yml

Ovviamente potrei commentare, ma c'è qualche possibilità di dire semplicemente "enabled: false"?

+2

La risposta è: "dipende" ... da quello che stai cercando di realizzare. Se si esegue 'docker-compose up ', verranno avviati tutti i servizi per impostazione predefinita. Tuttavia, se si esegue 'docker-compose up myservice', verrà avviato myservice e le cose che dipendono da esso. Impostando le dipendenze è possibile farlo in modo che il cattivo servizio non inizi con questo comando. Puoi anche eseguire 'docker-compose run' per ottenere solo i servizi che desideri. La scelta giusta potrebbe anche essere quella di suddividerla in più file di composizione per permetterti la flessibilità di cui hai bisogno. –

risposta

18

Si potrebbe semplicemente ridefinire la entrypoint or command al fine di sostituire detto comando con qualcosa che non fa niente (/bin/true)

che renderebbe immediatamente l'uscita del contenitore, non fare nulla.


shadi aggiunge i seguenti suggerimenti nei commenti:

Se non si desidera che il servizio per avere costruito a tutti, ridefinire la chiave build per puntare a un Dockerfile che ha solo:

FROM tianon/true 
ENTRYPOINT ["/true"] 
+2

Vorrei anche aggiungere/cambiare 'restart:" no "per evitare riavvii infiniti – DUzun

1

non v'è alcun modo per disattivare un servizio definito in Docker comporre file YAML. suggerimento di VonC è una buona soluzione alternativa Si prega di vedere di seguito la documentazione finestra mobile comporre per le opzioni disponibili https://docs.docker.com/compose/compose-file/

2

aggiungo la seguente riga in più per il servizio che voglio disattivare temporaneamente:

command: echo "{put your service name here} disabled" 

Si parte in ogni caso, ma non fa niente.

1

vorrei scalare il servizio a 0 repliche con: Distribuzione: repliche: 0

Purtroppo come documentation states questo funziona solo con finestra mobile sciame.

Problemi correlati