Entiende el código correctamente previamente a aplicarlo a tu proyecto si ttienes algo que aportar puedes decirlo en los comentarios.
Solución:
Haciendo docker stack deploy
De nuevo para mí es el camino a seguir para actualizar los servicios. Como Respuesta de Francois, y también en mi propia experiencia, hacerlo actualiza solo los servicios que necesitan ser actualizados.
Pero a veces, cuando se prueban cosas, parece más fácil reiniciar un solo servicio. En mi caso, tuve que borrar el volumen y actualizar el servicio para iniciarlo como si fuera nuevo. No estoy seguro de si hay alguna desventaja en el método que describiré. Lo probé en mi pila de desarrollo y funcionó muy bien para mí.
Obtenga la identificación del servicio que desea eliminar y luego use docker service update --force
para forzar la actualización del servicio que efectivamente lo vuelve a implementar
$ docker stack services
ID NAME ...
3xrdy2c7pfm3 stack-name_api ...
$ docker service update --force 3xrdy2c7pfm3
los --force
flag obligará al servicio a actualizarse y hará que se reinicie.
Escalar a 0 y retroceder:
docker service scale myservice=0
docker service scale myservice=10
Mirando a la docker stack
documentación:
Descripción ampliada
Crear y actualizar una pila de un archivo de composición o dab en el enjambre
De este artículo de blog: docker stack
funciona de manera similar a docker compose
. Es idempotente. Si la pila ya está implementada, docker stack deploy
reiniciará solo aquellos servicios que tienen el resumen o la etiqueta que se actualiza:
Desde mi experiencia, cuando implemento la misma pila nuevamente con un cambio de servicio, solo se reiniciará el servicio actualizado.
PERO… parece haber algunas limitaciones a los cambios que se tienen en cuenta (algunos informan errores con etiquetas de imagen), así que pruébelo y vea si funciona como se esperaba.
También puedes usar service update
si desea asegurarse de que solo el servicio específico se actualice con sus cambios.
También puede consultar este SO QA similar.
valoraciones y comentarios
Eres capaz de añadir valor a nuestra información participando con tu veteranía en las anotaciones.