Olá,
Gostaria de saber qual a melhor forma de atualizar uma imagem de uma stack do swarm.
Olá,
Gostaria de saber qual a melhor forma de atualizar uma imagem de uma stack do swarm.
Olá Rogerio, tudo bem? Bem, não existe a "melhor forma" para atualizar uma imagem, o que a documentação do docker fala é que com esse comando:
docker service update [OPTIONS] SERVICE
Você pode ver mais opções para atualizações aqui. Porém se você pretende atualizar uma stack que está em produção deve ter bastante cuidado com as atualizações, pois elas podem ser incompatíveis com sua aplicação ou ainda parar o serviço e isso é um grande problema quando estamos trabalhando em um ambiente em produção.
No caso as imagens seriam as minhas, das minhas aplicações, quando eu faço por exemplo um novo push no docker hub. Com o docker service eu atualizaria a imagem de apenas um serviço da minha stack, certo? existe algum tipo de atualização no nivel da stack? ou até mesmo do swarm todo?
Entendi Rogerio, bem o coerente é não precisamos atualizar tudo de uma única vez, mas se precisarmos, então podemos fazer da seguinte forma:
docker service update -d <service1> docker service update -d <service2>
Essa é a alternativa pra conseguir atualizar todos em um único comando, porém note que cada service tem que ser informado separadamente.
Espero ter ajudado!
Olá Rogério, tudo bem?
No caso, ao atualizar a sua imagem, basta você executar novamente o comando docker stack deploy
. Desse modo, ele efetuará quaisquer modificações realizadas no seu arquivo de composição.