ANÚNCIO

~/questoes/devops

Qual é o principal objetivo de usar Docker para APIs em Node.js?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência #03 – Criando uma imagem e um container Docker para uma API em NodeJS | Thi code
Para fixar

Docker para APIs Node.js: Portabilidade e Consistência

Conceito central

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'.

Por que essa resposta faz sentido

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.

Armadilhas comuns

  • Confundir o objetivo do Docker com otimização de recursos: Docker é sobre consistência e portabilidade, não sobre reduzir RAM ou aumentar velocidade.
  • Pensar que Docker elimina a necessidade do npm: o npm ainda é usado dentro do container durante a construção da imagem para instalar dependências.
  • Acreditar que Docker resolve tudo sozinho: é preciso escrever um bom Dockerfile que configure corretamente o ambiente, copie o código e instale as dependências.

Entenda as alternativas

A

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.

B

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.

C

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.

D

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.

Dica prática: Quando criar seu primeiro Dockerfile, lembre-se da ordem: imagem base (FROM node:18) → diretório de trabalho (WORKDIR) → copiar package.json → instalar dependências (npm install) → copiar código → expor porta (EXPOSE) → comando de inicialização (CMD). Esta sequência aproveita o cache do Docker e garante funcionamento consistente.

Revise pensando: Se você criar um container Docker de uma API Node.js rodando localmente e enviá-lo para um colega, qual será o resultado que ele esperará ao executar esse container?