~/questoes/devops
Docker é uma tecnologia de containerização que empacota sua aplicação Node.js com todas as suas dependências em uma unidade padronizada. O principal benefício é garantir que o código funcione identicamente em qualquer máquina, eliminando o problema clássico de 'funciona na minha máquina'.
A alternativa B está correta porque Docker encapsula toda a aplicação, dependências e configurações do sistema operacional em um container. Isso significa que a API Node.js rodará exatamente da mesma forma no seu computador, no servidor de desenvolvimento e em produção, independentemente das diferenças de ambiente.
Reduzir consumo de RAM não é o objetivo principal do Docker. Na verdade, containers usam recursos para isolamento do sistema operacional. Docker pode até aumentar ligeiramente o uso de memória, mas ganham em consistência e segurança.
Esta é a resposta correta. Docker resolve o problema de inconsistência entre ambientes ao encapsular a aplicação com todas as suas dependências, versões de bibliotecas e configurações. Isso garante que o container execute identicamente em qualquer lugar.
Docker não elimina o npm. Muito pelo contrário: o Dockerfile ainda utiliza npm install para instalar as dependências listadas no package.json dentro do container. O npm continua sendo essencial.
Docker não aumenta a velocidade de execução do JavaScript. O container é isolado, mas o código JavaScript roda no Node.js da mesma forma. Docker traz benefícios de consistência e portabilidade, não performance.