AULA 58
MÓDULO 8
Docker e deploy
⏱ 55 min
Docker na Prática
Docker Compose: orquestrar múltiplos containers. Volumes para persistência. Service discovery por nome.
Docker Composevolumesredesdepends_onhealthcheckservice discovery
Docker Compose
Docker Compose orquestra múltiplos containers com um único arquivo YAML. Em vez de 5 comandos docker run, você escreve uma vez e usa docker compose up.
ambiente local completo
docker-compose.yml com Node API + PostgreSQL + Redis + Nginx. Em 30 segundos, ambiente de dev idêntico ao de qualquer desenvolvedor do time.Volumes e redes
Containers são efêmeros — dados morrem com eles. Volumes persistem dados além do ciclo do container. Redes isolam comunicação entre containers.
service discovery
Em Docker Compose, containers se comunicam pelo nome do serviço: a API acessa Postgres em postgres:5432, não em localhost. O Compose cria DNS automático entre serviços.
javascript
# docker-compose.yml — stack completa version: '3.9' services: api: build: . ports: - "3000:3000" environment: - DATABASE_URL=postgres://app:senha@postgres:5432/appdb - REDIS_URL=redis://redis:6379 depends_on: postgres: condition: service_healthy volumes: - ./src:/app/src # hot reload em dev postgres: image: postgres:16-alpine environment: POSTGRES_USER: app POSTGRES_PASSWORD: senha POSTGRES_DB: appdb volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U app"] interval: 5s redis: image: redis:7-alpine volumes: pgdata: # volume persistente # docker compose up -d # iniciar em background # docker compose logs -f # ver logs # docker compose down -v # parar e apagar volumes
quiz · aula 58
Teste seus conhecimentos
0/3 respondidas
QUESTÃO 01
Por que volumes são necessários no Docker?
QUESTÃO 02
Em Docker Compose, como a API acessa o PostgreSQL?
QUESTÃO 03
O que faz depends_on com condition: service_healthy?
0/3