Dockerizar um app Django com Postgres e Redis
Devin escreve um Dockerfile multi-stage, um docker-compose.yml com Django, PostgreSQL e Redis, depois faz o build e executa a stack para verificar se tudo funciona.(Opcional) Defina o escopo do projeto usando o Ask Devin
Se você não tem certeza de quais serviços seu app Django depende ou de como o projeto é estruturado, use o Ask Devin para investigar primeiro:Você também pode iniciar uma sessão do Devin diretamente a partir do Ask Devin, e tudo o que ele tiver aprendido será mantido como contexto.
Forneça ao Devin seu projeto Django e o arquivo requirements.txt
Aponte o Devin para o projeto Django que você quer conteinerizar e mencione qualquer requisito específico — preferências de imagem base, serviços dos quais o app depende ou restrições de tamanho da imagem. O Devin lê seu
requirements.txt ou pyproject.toml para cuidar do restante.Devin analisa e desenvolve
Devin lê seu projeto Django e arquivos de dependência para entender o processo de build e, em seguida, cria a configuração do Docker:
- Lê arquivos de dependência — Analisa
requirements.txtoupyproject.toml, identifica Django, psycopg2, redis, celery e gunicorn - Escreve o Dockerfile — Cria um build multiestágio que instala as dependências em um estágio de build e copia o ambiente virtual para uma imagem de runtime mínima
python:3.12-slim
- Cria o docker-compose.yml — Adiciona Django, PostgreSQL, Redis e um worker do Celery com verificações de integridade, volumes e uma rede compartilhada
- Adiciona .dockerignore — Exclui arquivos que não pertencem ao contexto de build (
__pycache__,.git,tests/,docs/,*.pyc) - Executa
docker compose up --build— Faz o build da imagem e inicia todos os serviços no terminal do Devin - Verifica o aplicativo — Executa um curl em
/api/health/para confirmar que o Django inicia corretamente, conecta ao PostgreSQL e acessa o Redis
Guie a sessão com comandos de barra (/)
Use comandos com barra durante a sessão para direcionar o fluxo de trabalho do Devin:
/plan— Peça ao Devin para descrever sua abordagem antes de escrever qualquer configuração Docker. Revise o plano e sugira alterações./test— Diga ao Devin para reconstruir e revalidar a stack de contêineres. Use isso após cada alteração para detectar problemas logo no início./review— Peça ao Devin para revisar seu próprio Dockerfile e a configuração do Docker Compose em busca de problemas de segurança, tamanho da imagem e melhores práticas antes de abrir o PR.
Validar e iterar
Quando o Devin abrir o PR, revise os arquivos gerados. Algumas solicitações comuns:
Revise o PR com o Devin Review
Quando Devin abrir o PR, use o Devin Review para revisar a configuração do Docker. O Devin Review pode identificar problemas de segurança (como execução como root, segredos expostos), ausência de boas práticas importantes (falta de
.dockerignore, ausência de health checks) e inconsistências em relação à sua infraestrutura existente.