Dockerizar una aplicación Django con Postgres y Redis
Devin escribe un Dockerfile multietapa, un docker-compose.yml con Django, PostgreSQL y Redis, luego construye y ejecuta el stack para verificar que funcione.(Opcional) Define el alcance del proyecto con Ask Devin
Si no estás seguro de de qué servicios depende tu aplicación Django o cómo está estructurado el proyecto, usa Ask Devin para investigarlo primero:También puedes iniciar una sesión de Devin directamente desde Ask Devin, y conservará todo lo que haya aprendido como contexto.
Proporciona a Devin tu proyecto de Django y sus dependencias
Indica a Devin a qué proyecto de Django quieres aplicar contenedores y menciona cualquier detalle específico: preferencias de imagen base, servicios de los que depende la app o restricciones de tamaño de la imagen. Devin lee tu
requirements.txt o pyproject.toml para encargarse del resto.Devin investiga y desarrolla
Devin lee tu proyecto Django y los archivos de dependencias para entender el proceso de compilación, y luego crea la configuración de Docker:
- Lee los archivos de dependencias — Analiza
requirements.txtopyproject.toml, identifica Django, psycopg2, redis, celery y gunicorn - Escribe el Dockerfile — Crea un proceso de compilación en múltiples etapas que instala las dependencias en una etapa de compilación y copia el entorno virtual en una imagen mínima de ejecución
python:3.12-slim
- Crea el archivo docker-compose.yml — Agrega Django, PostgreSQL, Redis y un worker de Celery con health checks, volúmenes y una red compartida
- Agrega .dockerignore — Excluye archivos que no pertenecen al contexto de compilación (
__pycache__,.git,tests/,docs/,*.pyc) - Ejecuta
docker compose up --build— Construye la imagen e inicia todos los servicios en la terminal de Devin - Verifica la app — Ejecuta
curlsobre/api/health/para confirmar que Django inicia correctamente, se conecta a PostgreSQL y puede acceder a Redis
Guía la sesión con comandos slash
Usa comandos de barra inclinada durante la sesión para dirigir el flujo de trabajo de Devin:
/plan— Pídele a Devin que describa su enfoque antes de escribir cualquier configuración de Docker. Revisa el plan y sugiere cambios./test— Indícale a Devin que vuelva a compilar y volver a verificar el stack de contenedores. Úsalo después de cada cambio para detectar problemas lo antes posible./review— Pídele a Devin que revise su propio Dockerfile y la configuración de Docker Compose en busca de problemas de seguridad, tamaño de imagen y buenas prácticas antes de abrir el pull request (PR).
Verifica e itera
Cuando Devin abra el pull request (PR), revisa los archivos generados. Acciones de seguimiento habituales:
Revisa el PR con Devin Review
Una vez que Devin abra el PR, usa Devin Review para revisar la configuración de Docker. Devin Review puede detectar problemas de seguridad (ejecución como root, secretos expuestos), ausencia de buenas prácticas (sin
.dockerignore, sin health checks) e inconsistencias con tu infraestructura existente.