Dockeriser une application Django avec Postgres et Redis
Devin écrit un Dockerfile multi-étapes, un docker-compose.yml avec Django, PostgreSQL et Redis, puis construit et exécute la stack pour vérifier qu'elle fonctionne.(Facultatif) Délimiter le périmètre du projet avec Ask Devin
Si vous ne savez pas sur quels services repose votre application Django ni comment le projet est structuré, utilisez Ask Devin pour commencer votre analyse :Vous pouvez également démarrer une session Devin directement depuis Ask Devin, et Devin conservera tout ce qu’il a appris comme contexte.
Transmettez à Devin votre projet Django et votre fichier requirements.txt
Indiquez à Devin quel projet Django containeriser et mentionnez tout besoin spécifique : préférences d’image de base, services dont l’application dépend ou contraintes de taille d’image. Devin lit votre
requirements.txt ou pyproject.toml pour déduire le reste.Devin explore et construit
Devin lit votre projet Django et les fichiers de dépendance pour comprendre le processus de build, puis génère la configuration Docker :
- Lit les fichiers de dépendance — Analyse
requirements.txtoupyproject.toml, identifie Django, psycopg2, redis, celery et gunicorn - Écrit le Dockerfile — Crée un build multi-étapes qui installe les dépendances dans une étape de build et copie l’environnement virtuel dans une image d’exécution minimale
python:3.12-slim
- Crée le fichier docker-compose.yml — Ajoute Django, PostgreSQL, Redis et un worker Celery, avec des contrôles d’état, des volumes et un réseau partagé
- Ajoute .dockerignore — Exclut les fichiers qui n’appartiennent pas au contexte de build (
__pycache__,.git,tests/,docs/,*.pyc) - Exécute
docker compose up --build— Construit l’image et démarre tous les services dans le terminal de Devin - Vérifie l’application — Envoie une requête
curlvers/api/health/pour confirmer que Django démarre correctement, se connecte à PostgreSQL et accède à Redis
Pilotez la session avec des commandes slash
Utilisez les commandes slash pendant la session pour orienter le flux de travail de Devin :
/plan— Demandez à Devin de présenter sa démarche avant d’écrire toute configuration Docker. Passez en revue le plan et proposez des modifications./test— Demandez à Devin de reconstruire et de revérifier la pile de conteneurs. Utilisez cette commande après chaque modification pour détecter les problèmes le plus tôt possible./review— Demandez à Devin de relire son propre Dockerfile et la configuration Compose afin de détecter les problèmes de sécurité, d’optimiser la taille de l’image et d’appliquer les bonnes pratiques avant d’ouvrir la PR.
Valider et itérer
Une fois que Devin a ouvert la PR, passez en revue les fichiers générés. Suites possibles :
Examinez la PR avec Devin Review
Une fois que Devin a ouvert la PR, utilisez Devin Review pour examiner la configuration Docker. Devin Review peut détecter des problèmes de sécurité (exécution en tant que root, secrets exposés), le non-respect de certaines bonnes pratiques (pas de
.dockerignore, aucun health check défini) ainsi que des incohérences avec votre infrastructure existante.