AULA 57
MÓDULO 8
Docker e deploy
⏱ 55 min
O que é Docker
Container vs VM. Imagem vs container. Dockerfile: FROM, COPY, RUN, CMD. Multi-stage build.
DockercontainerimagemDockerfilemulti-stageregistry.dockerignore
O que é Docker
Docker empacota sua aplicação e todas as suas dependências em um container — uma unidade isolada e reproduzível. "Funciona na minha máquina" deixa de ser um problema.
container vs VM
VM: sistema operacional completo por aplicação (gigabytes). Container: compartilha o kernel do host, isola o processo (megabytes). Docker é como um container de navio — padrão universal, vai em qualquer navio.🖼️ Imagem
Blueprint do container. Imutável. Versionada. Construída com Dockerfile. Armazenada no registry.
🏃 Container
Imagem em execução. Com estado. Pode ser parado/iniciado/deletado. Efêmero por design.
Dockerfile
Dockerfile é o script que define como construir a imagem. Cada instrução cria uma camada — camadas são cacheadas, tornando builds incrementais rápidos.
multi-stage build
Use builds em múltiplos estágios: stage de build tem Node + devDependencies. Stage de produção copia apenas o código compilado. Imagem final muito menor e sem ferramentas desnecessárias.
javascript
# Dockerfile — Node.js com multi-stage build # Stage 1: instalação de dependências FROM node:20-alpine AS deps WORKDIR /app COPY package*.json ./ RUN npm ci --only=production # Stage 2: imagem final (mínima) FROM node:20-alpine AS runner WORKDIR /app ENV NODE_ENV=production COPY --from=deps /app/node_modules ./node_modules COPY . . EXPOSE 3000 CMD ["node", "server.js"] # .dockerignore — não copiar para a imagem # node_modules # .env # .git # *.test.js # Comandos essenciais # docker build -t minha-api:v1 . # docker run -p 3000:3000 --env-file .env minha-api:v1 # docker push minha-api:v1
quiz · aula 57
Teste seus conhecimentos
0/3 respondidas
QUESTÃO 01
Qual é a diferença entre imagem e container Docker?
QUESTÃO 02
Por que usar multi-stage build?
QUESTÃO 03
O que é o .dockerignore?
0/3