Prepare sua aplicação para o mundo real usando containers.
🟢 Nível: Básico
Dockerfile: Crie um arquivo Dockerfile simples para um "Hello World" em Go.
Imagens: Use o comando docker build para criar a imagem e docker images para verificar o tamanho dela.
🟡 Nível: Intermediário
Multi-Stage: Refatore seu Dockerfile para usar Multi-Stage Build e compare a diferença de tamanho entre a imagem de build e a imagem final.
Execução: Suba um container rodando sua aplicação na porta 9000 e verifique se consegue acessá-la de fora do container.
🔴 Nível: Desafio
5. Compose Completo: Crie um arquivo docker-compose.yml que suba sua API (da aula 12) e um banco de dados PostgreSQL. Garante que a API espere o banco de dados estar pronto antes de tentar conectar.
📚 Gabarito e Soluções Comentadas
Gabarito Explicado ### Questão 1: Dockerfile **Resolução e Implementação:**
// Estrutura de implementação recomendada para Dockerfile// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Docker e Deploy**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Imagens **Resolução e Implementação:**
// Estrutura de implementação recomendada para Imagens// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Docker e Deploy**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Multi-Stage **Resposta Comentada:** - **Fundamentação:** No contexto de **Docker e Deploy**, o conceito abordado (Multi-Stage) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Execução **Resposta Comentada:** - **Fundamentação:** No contexto de **Docker e Deploy**, o conceito abordado (Execução) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Compose Completo **Resolução e Implementação:**
// Estrutura de implementação recomendada para Compose Completo// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Docker e Deploy**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.