Começar
Aparência

Vale na hora e fica lembrada neste navegador.

Decisões

ORG-0018 — Containers: Docker e Compose

Contexto

A mesma imagem precisa rodar na máquina do desenvolvedor, nos testes e em produção. E o ambiente local precisa subir do zero, sem passos manuais, para qualquer pessoa ou agente.

Decisão

  1. Uma imagem por aplicação, multi-stage, com usuário não-root, só a porta da aplicação exposta (a de métricas não), contexto de build na raiz e configuração por variável de ambiente.
  2. compose.yaml com o ambiente local descartável: sem volume nomeado, credenciais óbvias de desenvolvimento, observabilidade num perfil e simuladores no perfil e2e.
  3. Dois caminhos locais: aplicações nativas + infraestrutura em container (recomendado no dia a dia) ou tudo em container (valida a imagem antes de um deploy).
  4. Imagens base e versões ficam numa ADR da stack (a ADR-0006 pré-escrita).

Alternativas consideradas

AlternativaPor que não
Ambiente local instalado na máquinaPor que não: cada máquina diferente; nada se zera
Uma imagem para todas as aplicaçõesPor que não: imagem grande e acoplada; não se implanta uma sem as outras

Consequências

  • Zerar o ambiente local é derrubar e subir o Compose.
  • A imagem testada localmente é a que vai para produção.

Mais

O detalhe está na documentação da arquitetura.