ANÚNCIO

~/questoes/devops

Qual é o principal benefício de usar Docker para fazer deploy em produção?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência #09 – Como fazer um deploy na Aws de uma aplicação no Docker? | Thi Code
Para fixar

Docker em Produção: Garantindo Consistência entre Ambientes

Conceito central

Docker é uma plataforma que containeriza aplicações, empacotando-as com todas as suas dependências em um ambiente isolado. O principal benefício para produção é garantir que a aplicação funcione de forma idêntica em qualquer máquina, eliminando o famoso problema 'funciona na minha máquina'.

Por que essa resposta faz sentido

A resposta correta reconhece que Docker garante consistência entre ambientes diferentes. Quando você containeriza uma aplicação, toda a configuração do sistema operacional, dependências e código fica encapsulada na imagem Docker, funcionando igual no seu computador, no servidor de um colega ou em um servidor na nuvem como a AWS EC2.

Armadilhas comuns

  • Pensar que Docker funciona apenas em Linux, quando na verdade roda em Windows, macOS e Linux sem problemas.
  • Confundir o benefício principal (consistência entre ambientes) com economia de custo ou eliminação total de manutenção.
  • Acreditar que Docker resolve 100% dos problemas de deployment, quando na verdade é uma ferramenta poderosa mas que ainda exige configuração correta de segurança e variáveis de ambiente.

Entenda as alternativas

A

Essa alternativa é falsa. Docker funciona em múltiplos sistemas operacionais, incluindo Windows, macOS e Linux. Você não fica restrito apenas a Linux para usar Docker em produção, embora containers Linux sejam mais comuns.

B

Essa é a resposta correta. Docker garante que a aplicação funcione igual em qualquer máquina ou servidor porque o container carrega consigo tudo que a aplicação precisa para rodar, eliminando variações entre ambientes diferentes.

C

Essa alternativa exagera e generaliza. Embora Docker possa ajudar a otimizar custos de infraestrutura, não há garantia de redução de 90% em todos os casos. O impacto financeiro depende de muitos fatores específicos de cada projeto.

D

Isso é impreciso. Docker reduz significativamente tarefas de manutenção de servidores, mas não as elimina completamente. Você ainda precisa atualizar a imagem Docker, monitorar containers, gerenciar segurança e fazer manutenção de infraestrutura.

Dica prática: Ao criar um Dockerfile, sempre inclua as dependências explicitamente no arquivo. Por exemplo, se sua aplicação precisa de Node.js e npm, especifique a versão exata. Isso garante que qualquer pessoa ou servidor que construir a imagem terá exatamente o mesmo ambiente que você testou localmente.

Revise pensando: Se você colocar sua aplicação Docker em 3 máquinas diferentes (seu notebook, servidor de um colega e AWS), a aplicação rodaria igual nas três? Por quê?