
Si hago cambios en mi docker-compose.yml
(por ejemplo, cambio en qué puerto de host está expuesto un puerto de contenedor), ¿puedo recrear ese contenedor único o necesito reiniciar toda la pila?
docker-compose stop ; docker-compose up
Hará el trabajo pero quiero evitar reiniciar el resto de los servicios. También quiero evitar eliminar volúmenes asociados con el servicio que estoy reiniciando, por lo que docker-compose kill <service> ; docker-compose rm
no es una opción.
Respuesta1
Simplemente corre docker-compose up
de nuevo. Todo lo que se vea afectado por su cambio (contenedor, volumen, red, etc.) se recreará, los demás contenedores permanecerán.
Si desea utilizar imágenes más nuevas, ejecútelas docker-compose pull
de antemano.
Respuesta2
A veces se ignoran los cambios realizados en algún archivo env. Entonces lo hago
docker stop mycontainer
docker compose up
esto reiniciará el contenedor único más los contenedores dependientes, que es lo que debe hacer. Evitar reiniciar los contenedores dependientes es una mala idea, porque mycontainer
aparecerá una IP de Docker diferente
tener algún tipo de reload
comando sería bueno