Docker Compose
O Docker Compose descreve um ambiente de desenvolvimento com vários containers num único arquivo versionado no repositório, iniciado com docker compose up. As aulas usam uma aplicação Rails e o banco PostgreSQL dela. Elas tratam do formato atual do arquivo, sem a chave version obsoleta, dos nomes de serviço como hostnames e de health checks que esperam o banco ficar pronto. Também passam por volumes nomeados e bind mounts, configuração e secrets fora do repositório e comandos do dia a dia. No fim, o curso monta um compose.yaml completo e lista as cinco falhas que mais tomam tempo.
O que você vai aprender
- ✓Escrever um compose.yaml com serviços, imagens, builds e âncoras YAML
- ✓Como os serviços se encontram pelo nome e quando publicar portas
- ✓Usar health checks para o depends_on esperar o serviço ficar pronto
- ✓Escolher entre volumes nomeados e bind mounts, e os problemas de cada um
- ✓Manter secrets fora do repositório com .env, interpolação e secrets do Compose
- ✓Comandos do dia a dia: exec, run, profiles, watch e docker compose config
Um container não é um ambiente
O curso anterior terminou com uma imagem que roda esta aplicação. Isso é um processo. Um ambiente funcional para este app são pelo menos dois, porque o app precisa do PostgreSQL, e um ambiente realista acrescenta um worker de jobs e às vezes mais.
Ler a aula completa grátis →Currículo
7 aulasUm container não é um ambiente
Por que containers rodados à mão pedem um arquivo, o que o Compose cobre e por que preferir compose.yaml.
Serviços, imagens e o que mudou
A chave version obsoleta, os elementos de topo, build ou image, o command, escutar em 0.0.0.0 e âncoras YAML.
Rede e ordem de inicialização
Nomes de serviço como hostnames, portas publicadas e health checks que fazem o depends_on esperar a prontidão do banco.
Dados que sobrevivem
Volumes nomeados e bind mounts, como o mount esconde arquivos da imagem, permissões no Linux e o destrutivo down -v.
Configuração e secrets
Fontes de configuração e precedência, interpolação obrigatória, .env e .env.example, secrets do Compose e arquivos de override.
Trabalhando nele no dia a dia
Comandos do dia a dia, exec ou run, profiles, rebuild com watch, diagnóstico com docker compose config e limpeza de disco.
Um arquivo Compose para este app
Um compose.yaml completo para este app, como ele sobe, as cinco falhas comuns e onde o Compose serve.