Empurrando o docker para uma produção

Empurrando o docker para uma produção

Estou usando o docker-compose no ambiente de desenvolvimento com um docker-compose.ymlarquivo onde listo todos os contêineres necessários.

Também tenho um repositório git centralizado, um servidor Jenkins e outro servidor onde manterei o teste e a produção.

Portanto, a questão é como organizar melhor o processo de implantação.

Agora, git pushno lado do servidor git, aciona um trabalho de construção do Jenkins. Dependendo do nome da filial (preparação ou produção), diferentes trabalhos serão acionados.

Um trabalho de construção usa docker-compose para abrir todo o ambiente e executar testes. Como faço para enviar novos contêineres para o ambiente de preparação/produção?

Uma maneira é enviá-los para o registro docker privado ou público, mas qual é a melhor prática de atualização de contêineres em produção? O servidor Jenkins deve apenas fazer ssh e executar comandos raw kill, rme pull? runNão vejo exemplos por aí.

Responder1

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 pegará uma coleção de contêineres (conhecidos como serviço) e os atualizará um por um. Então, imagine que você tem três contêineres executando seu aplicativo, uma atualização contínua desativará o primeiro contêiner e o atualizará, e assim por diante, até que o serviço esteja totalmente atualizado. Isso significa que você efetivamente obtém tempo de inatividade zero no aplicativo, pois os balanceadores de carga nesses produtos são inteligentes e não redirecionarão para a atualização de contêineres.

Este link fornece uma implementação básica do Swarm executando um serviço e depois atualizando-o.

Atualização do Rolamento do Enxame

Para algumas configurações e implementações mais fáceis - na minha experiência, o Rancher é um bom ponto de partida para entender todos esses conceitos. Basicamente, é uma interface baseada em diferentes tecnologias Docker, como Kubernetes.

Site do fazendeiro

informação relacionada