Dockerizzare un'app Django con Postgres e Redis
Devin scrive un Dockerfile multi-stage, un file docker-compose.yml con Django, PostgreSQL e Redis, quindi effettua la build ed esegue lo stack per verificare che funzioni.(Facoltativo) Definisci l'ambito del progetto con Ask Devin
Se non sei sicuro da quali servizi dipenda la tua app Django o di come è strutturato il progetto, usa Ask Devin per analizzarlo prima:Puoi anche avviare una sessione di Devin direttamente da Ask Devin, e porterà con sé tutto il contesto che ha appreso.
Fornisci a Devin il tuo progetto Django e i relativi requirements
Indirizza Devin al progetto Django da containerizzare e indica eventuali requisiti specifici — ad esempio preferenze per l’immagine di base, servizi da cui l’app dipende o vincoli sulle dimensioni dell’immagine. Devin legge i tuoi file
requirements.txt o pyproject.toml per occuparsi del resto.Devin analizza e realizza
Devin legge il tuo progetto Django e i file di dipendenze per comprendere il processo di build, quindi genera la configurazione Docker:
- Legge i file di dipendenze — Analizza
requirements.txtopyproject.tomle identifica Django, psycopg2, redis, celery e gunicorn - Scrive il Dockerfile — Crea una build multi-stage che installa le dipendenze in una fase builder e copia l’ambiente virtuale in un’immagine di runtime minimale
python:3.12-slim
- Genera il file docker-compose.yml — Aggiunge Django, PostgreSQL, Redis e un worker Celery con health check, volumi e una rete condivisa
- Aggiunge .dockerignore — Esclude i file che non devono far parte del contesto di build (
__pycache__,.git,tests/,docs/,*.pyc) - Esegue
docker compose up --build— Costruisce l’immagine e avvia tutti i servizi nel terminale di Devin - Verifica l’app — Esegue un curl su
/api/health/per confermare che Django si avvia correttamente, si connette a PostgreSQL e raggiunge Redis
Gestisci la sessione con i comandi slash
Utilizza i comandi slash durante la sessione per guidare il flusso di lavoro di Devin:
/plan— Chiedi a Devin di descrivere il proprio approccio prima di scrivere qualsiasi configurazione Docker. Rivedi il piano e suggerisci modifiche./test— Di’ a Devin di ricostruire e verificare nuovamente lo stack di container. Usa questo comando dopo ogni modifica per intercettare i problemi in anticipo./review— Chiedi a Devin di rivedere il proprio Dockerfile e la configurazione Docker Compose per problemi di sicurezza, dimensione dell’immagine e best practice prima di aprire la pull request (PR).
Rivedi la PR con Devin Review
Una volta che Devin apre la PR, utilizza Devin Review per verificare la configurazione Docker. Devin Review può individuare problemi di sicurezza (esecuzione come root, segreti esposti), best practice mancanti (assenza di un file
.dockerignore, mancanza di health check) e incoerenze con la tua infrastruttura esistente.