Después de de una extensa selección de datos resolvimos este dilema que pueden tener muchos los usuarios. Te brindamos la solución y esperamos resultarte de gran ayuda.
Solución:
desde el reinicio manual de docker-compose
Si realiza cambios en su configuración de docker-compose.yml, estos cambios no se reflejarán después de ejecutar este comando.
deberías poder hacer
$docker-compose up -d --no-deps --build
los --no-deps
no iniciará los servicios vinculados.
El problema es ese restart
reiniciará sus contenedores actuales, que no es lo que desea.
Como ejemplo, acabo de hacer esto.
- cambia el archivo docker por una de las imágenes
- llamar
docker-compose build
para construir las imágenes - llamar
docker-compose down
1 ydocker-compose up
docker-compose restart
NO funcionará aquí- usando
docker-compose start
en cambio tampoco funciona
Para ser honesto, no estoy completamente seguro de que necesites hacer un down
primero, pero eso debería ser fácil de comprobar.1 La conclusión es que necesita llamar up
. Verá que se reinician los contenedores de imágenes sin cambios, pero para la imagen modificada verá recreating
.
La ventaja de esto sobre simplemente llamar up --build
es que puede ver el proceso de construcción primero antes de reiniciar.
1: de los comentarios; abajo no es necesario, solo puede llamar up --build
. Down tiene algunos aspectos negativos, incluida la posibilidad de que sea destructivo para sus datos (de volumen).
Utilizar el --build
bandera a la up
mando, junto con el -d
bandera para ejecutar sus contenedores en segundo plano:
docker-compose up -d --build
Esto reconstruirá todas las imágenes definidas en su archivo de composición, luego reiniciará cualquier contenedor cuyas imágenes hayan cambiado.
-d
asume que no desea mantener todo funcionando en primer plano de su shell. Esto hace que actúe más como restart
pero no es obligatorio.
Calificaciones y reseñas
Puedes añadir valor a nuestra información aportando tu experiencia en las referencias.