~/questoes/devops
Multi-stage build é uma técnica Docker que permite usar múltiplas etapas de construção em um único Dockerfile, descartando camadas desnecessárias ao final. Isso resulta em imagens muito mais leves, pois mantém apenas os arquivos essenciais para execução.
A alternativa correta é B porque o principal benefício do multi-stage build é reduzir drasticamente o tamanho final da imagem Docker. Na primeira etapa você usa uma imagem Node.js completa para compilar a aplicação React, mas na segunda etapa copia apenas os arquivos estáticos gerados para uma imagem NGINX muito mais enxuta, descartando toda a dependência Node.js.
Testes automatizados durante o build não são a principal vantagem do multi-stage. Embora seja possível adicionar testes em qualquer etapa, o foco real do multi-stage é na otimização da imagem final, não na execução de testes.
Esta é a resposta correta. O multi-stage build reduz o tamanho da imagem ao usar imagens base diferentes para cada etapa: Node.js pesado para compilar e NGINX leve para servir, mantendo apenas o necessário no resultado final.
Multi-stage build não garante acesso completo ao sistema operacional. Na verdade, a abordagem segue o princípio de menor privilégio, oferecendo apenas o necessário para cada etapa, melhorando segurança.
Integração com Git não é relacionada a multi-stage builds. Esta técnica é específica à construção de imagens Docker e não interfere ou facilita diretamente sistemas de versionamento.