Kubernetes, Docker Swarm ou Rancher são provavelmente as melhores maneiras de implementar o que é chamado de atualização contínua.
Basicamente, uma atualização contínua levará uma coleção de contêineres (conhecida como serviço) e os atualizará um por um. Portanto, imagine que você tenha três contêineres executando seu aplicativo, uma atualização contínua retirará o primeiro contêiner e o atualizará, e assim por diante, até que o serviço seja totalmente atualizado. Isso significa que você efetivamente fica sem tempo ocioso no aplicativo, pois os balanceadores de carga desses produtos são inteligentes e não redirecionam para a atualização de contêineres.
Este link fornece uma implementação básica do Swarm executando um serviço e, em seguida, atualizando-o.
Atualização de rolagem do enxame
Para algumas das configurações e implementações mais fáceis - na minha experiência, o Rancher é um bom ponto de partida para aprender todos esses conceitos. Basicamente é uma interface em cima de diferentes tecnologias Docker como o Kubernetes.