docker-compose arriba / abajo solo un contenedor


33

No he podido encontrar una manera de subir / bajar solo un contenedor en un archivo docker-compose.yml. Puedo iniciar y detener un solo contenedor, pero no puedo hacer cambios en la configuración de un contenedor entre reinicios (variables de entorno, puntos de montaje, etc.)

¿Que me estoy perdiendo aqui? ¿Cuál es la mejor práctica en este caso?

Respuestas:


4

Recientemente tuve esta necesidad y la resolví al tener un docker-compose-production.ymlarchivo separado para lidiar con los ajustes. Entonces recuerda lanzar condocker-compose -f docker-compose-production.yml...


¿Cómo funciona esto cuando llega el momento de hacerlo docker-compose down? ¿No derribaría todos los contenedores que se han presentado en todos los archivos .yml?
Jordan Morris

2
Puedes hacerlodocker-compose -f docker-compose-production.yml down
icarito

¿Y dónde especifica el contenedor que desea subir / bajar? -fes el selector de componer archivo, no contenedor.
astrowalker

31

Descubrí que esto tiene el mismo efecto que docker-compose para un solo servicio:

docker-compose rm -f -s -v yourService

docker-compose rm

Uso: rm [opciones] [SERVICIO ...]

Opciones:
-f, --force No solicite confirmar la eliminación
-s, --stop Detenga los contenedores, si es necesario, antes de eliminar
-v Elimine los volúmenes anónimos conectados a los contenedores.

Puedes condensar todas las banderas en un solo -parámetro:docker-compose rm -fsv yourService


Creo que dispone el disco, por cierto
Jordan Morris

2
¿Podría explicar las banderas, qué harían?
Semo

13

Te sugiero que revises este excelente hilo en stackoverflow.com. La respuesta rápida aquí para reconstruir el contenedor único y reiniciarlo es:

docker-compose up -d --build worker

Esta sería la solución ideal si, por ejemplo, sus cambios involucraran su Dockerfile y no solo docker-compose.ymll


7

Puedes usar

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

para iniciar solo su Servicio y todas las dependencias que requiera.

Entonces, si yourService depende del contenedor mysql, el comando anterior iniciaría ambos contenedores.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.