Um produto pode funcionar na máquina de um desenvolvedor e falhar ao chegar a um servidor. O Docker empacota uma aplicação e suas dependências de tempo de execução em uma imagem que pode rodar como um contêiner. Isso torna os ambientes mais repetíveis e as liberações mais fáceis de descrever. Os contêineres não fornecem automaticamente backups, segurança, monitoramento ou uma arquitetura que sobreviva a uma falha de servidor.
O que pertence a uma imagem
Inclua a aplicação e as dependências que ela precisa para iniciar, mas mantenha senhas e configurações específicas do ambiente fora da imagem. Fixe as versões das dependências e reconstrua as imagens quando chegarem atualizações de segurança. Uma imagem pequena e bem definida é mais fácil de inspecionar e implantar do que uma que instala silenciosamente ferramentas ao iniciar.
Trate os dados de forma diferente
Um contêiner pode ser substituído a qualquer momento. Os carregamentos de clientes e arquivos de banco de dados precisam de armazenamento persistente e regras de backup, não uma camada gravável que desaparece com o contêiner. Teste os caminhos de reinício e recuperação antes de confiar no setup para dados de produção.
Use-o onde a repetição importa
O Docker ajuda as equipes a alinhar o desenvolvimento local, testes automatizados e implantação. É útil quando um produto possui vários serviços ou precisa de uma liberação repetível. Para uma aplicação simples em uma plataforma gerenciada, a orquestração de contêineres pode adicionar mais partes móveis do que valor. Escolha o setup operacional mais pequeno que atinja o objetivo de confiabilidade.
A disciplina de liberação permanece necessária
Verifique a saúde antes de alternar o tráfego, mantenha uma versão anterior e saiba como fazer rollback. Registre falhas fora do contêiner e monitore o serviço do ponto de vista do usuário. A imagem é uma unidade de entrega; uma liberação confiável é um processo testado em torno dela.



