Projeto Final: Empacotando uma Aplicação Real com Docker
Chegou a hora de juntar tudo. Vamos pegar uma pequena aplicação web, escrever seu Dockerfile, rodá-la com uma porta e uma variável de ambiente, e conectar um banco de dados usando o Docker Compose — exatamente o fluxo de trabalho que você vai repetir várias vezes no trabalho real. Cada decisão aqui
É como cozinhar uma refeição completa depois de dominar cada receita separadamente: agora você junta os ingredientes — aplicação, banco de dados, rede — em um único prato que funciona.
- compose.yaml
- Um único arquivo que descreve todos os serviços da aplicação (web, db), a rede entre eles e os volumes. Um único comando, `docker compose up`, sobe todos juntos.
- nome do serviço
- Dentro do Compose, um serviço acessa outro pelo seu nome (por exemplo, db), e o DNS interno resolve isso para o endereço correto. Você não usa localhost entre serviços.
- volume nomeado (named volume)
- Armazenamento gerenciado pelo Docker conectado ao db, de modo que os dados sobrevivem mesmo quando o contêiner é removido e recriado. Sem ele, cada restart perde o banco de dados.