Minha jornada com Docker em 2 horas usando um tutor ia criado por mim
Recentemente decidi encarar o desafio de 7 dias proposto por Fábio Akita, sob uma perspectiva que vi com o Mano Devin: usar inteligência artificial como aliada real no desenvolvimento.
A proposta é simples — mas poderosa:
- Dia 1: conteinerização
- Dia 2: fundação da aplicação
- Dia 3: testes antes das features
- Dia 4: desenvolvimento com IA
- Dia 5: refatoração
- Dia 6: interface
- Dia 7: deploy
Este artigo é sobre o Dia 1 — e como saí do zero em Docker em apenas 2 horas.
---
🧠 Antes de tudo: meu contexto
Sou formado em Análise e Desenvolvimento de Sistemas, mas hoje reconheço que não aproveitei o curso como deveria.
Minhas maiores dificuldades sempre foram:
- transformar ideias em sistemas reais
- levantar requisitos
- entender a comunicação entre partes do sistema
E havia uma lacuna enorme:
Eu não sabia absolutamente nada sobre Docker.
Então decidi mudar isso de forma prática.
---
🤖 O diferencial: criei meu próprio tutor com IA
Usei um script que desenvolvi, o AI Tutor Forge, para gerar um curso completo de Docker com Python.
👉 Repositório: https://github.com/guedesindev/ai_tutor_forge
A proposta foi direta:
aprender Docker enquanto construo uma API de controle de estoque com fluxo de caixa.
E funcionou melhor do que eu esperava.
---
🐳 Dia 1 — Meu primeiro contato com Docker
Em apenas 2 horas, consegui entender conceitos fundamentais:
- Diferença entre imagem e container
- Como escrever um Dockerfile
- Diferença entre
docker buildedocker run - Uso de volumes
- Mapeamento de portas
- Uso do docker-compose
- Executar uma API FastAPI dentro de um container com reload automático
---
⚔️ Venv vs Docker (o insight que mudou tudo)
Eu sempre pensei:
“Se já uso venv, pra que Docker?”
Depois desse estudo, ficou claro:
🔹 Venv
- Isola dependências Python
- Depende do:
- Python do sistema
- Sistema operacional
- Arquitetura
🔹 Docker
- Isola:
- Dependências
- Versão do Python
- Sistema operacional
- Rede
- Sistema de arquivos
Docker não empacota só dependências.
Ele empacota o ambiente inteiro.
💡 Analogia:
- Venv → mochila de ferramentas
- Docker → a oficina inteira
---
📦 Entendendo o Dockerfile
O Dockerfile é basicamente um passo a passo automatizado para criar um ambiente.
Exemplo simplificado:
</> dockerfile
FROM python:3.13
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
---
🏗️ Build e Run (o básico que você precisa dominar)
Criar imagem
</> Bash
docker build -t minha-imagem .
Rodar container
</> Bash
docker run -d -p 8000:8000 --name meu-container minha-imagem
---
🔥 O problema real: produtividade
Sem volume, qualquer alteração exige:
- parar container
- recriar
- rodar tudo de novo
👉 Totalmente improdutivo.
---
🔄 A solução: volumes + reload
Usando bind mount, consegui sincronizar arquivos:
-v $(pwd)/app:/app
E combinando com:
--reload
Passei a ter live reload dentro do container.
---
⚡ O salto de produtividade: Docker Compose
Percebi rapidamente que rodar comandos enormes não escala.
A solução:
docker-compose.yml
</> Bash
services:
api:
build: .
ports:
- "8000:8000"
volumes:
- ./app:/app
command: uvicorn main:app --host 0.0.0.0 --port 8000 --reload
Subir tudo:
</> BAsh
docker compose up
Simples assim.
---
🚀 O resultado (em apenas 2 horas)
Saí de:
❌ zero conhecimento em Docker
Para:
✅ rodar API em container
✅ entender isolamento real
✅ usar volumes
✅ aplicar live reload
✅ usar docker-compose
---
🧠 Reflexão final
Mais do que aprender Docker, esse processo me mostrou algo maior:
Aprender com IA não é sobre substituir o aprendizado.
É sobre acelerar o caminho até o entendimento.
---
❓ E você?
Depois de ler até aqui, me diz:
Você consegue explicar a diferença entre:
docker builddocker rundocker compose up
Se sim, missão cumprida. 😄



