📊 Cap 14: Docker Compose
Ferramentas do Desenvolvedor • Orquestração Local, Redes Bridge & Healthchecks
🗺️ Um Comando para Subir Tudo!
flowchart LR
UP["docker compose up -d"]
--> S1["PostgreSQL"]
UP --> S2["Redis"]
UP --> S3["API Node/Python"]
UP --> S4["Frontend React ⚡"]
style UP fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff
style S1 fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
style S2 fill:#e8f5e9,stroke:#4caf50,stroke-width:1.5px
style S3 fill:#fff3e0,stroke:#ff9800,stroke-width:1.5px
style S4 fill:#ede7f6,stroke:#512da8,stroke-width:1.5px
🎯 Slide 1: Resolução de Nomes Automática por DNS
-
Esqueça configurações com IPs locais fixos como
192.168.1.50. - O DNS do Docker Compose faz a mágica:
- Se o serviço chama-se
postgres, a URL de conexão é simplesmente: postgres://user:pass@postgres:5432/meubanco- Isolado em uma rede bridge segura!
- Se o serviço chama-se
🎯 Slide 2: Healthchecks & Ordem de Inicialização
-
O
depends_onclássico apenas inicia o container, mas o banco pode demorar 10 segundos para aceitar conexões. - A Solução Profissional:
healthcheck: test: ["CMD-SHELL", "pg_isready"]depends_on: postgres: condition: service_healthy- A API só liga quando o banco estiver 100% pronto!
🎯 Slide 3: Hot-Reload com Bind Mounts
-
Não recompile imagens a cada linha de código alterada durante o desenvolvimento!
- Mapeamento de Volume Local:
volumes: - ./src:/app/src- Altere o arquivo no seu editor (VS Code/Neovim) e veja o servidor atualizar instantaneamente via Hot-Reload!
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim