
Django & Docker
Dockerfile, docker-compose, multi-stage builds, volumes, networks, development vs production
1Quelle image de base est recommandée pour une application Django en production ?
Quelle image de base est recommandée pour une application Django en production ?
Réponse
L'image python:3.x-slim est recommandée car elle offre un équilibre entre taille réduite et compatibilité. Elle contient les bibliothèques essentielles tout en évitant les dépendances superflues des images complètes. Les images Alpine, bien que plus légères, peuvent poser des problèmes de compatibilité avec certaines bibliothèques Python compilées (comme psycopg2).
2Quel est l'avantage principal d'un multi-stage build pour une application Django ?
Quel est l'avantage principal d'un multi-stage build pour une application Django ?
Réponse
Le multi-stage build permet de réduire significativement la taille de l'image finale en séparant l'environnement de build (avec tous les outils de compilation) de l'environnement d'exécution. Les dépendances sont compilées dans un premier stage, puis seuls les fichiers nécessaires sont copiés vers l'image finale, excluant les outils de build, les fichiers temporaires et les caches.
3Dans un docker-compose.yml, comment garantir que le conteneur Django attend que PostgreSQL soit prêt à accepter des connexions ?
Dans un docker-compose.yml, comment garantir que le conteneur Django attend que PostgreSQL soit prêt à accepter des connexions ?
Réponse
La directive depends_on seule ne garantit que le démarrage du conteneur, pas la disponibilité du service. Pour attendre que PostgreSQL soit réellement prêt, il faut utiliser un script wait-for-it.sh ou dockerize, ou encore la condition service_healthy avec un healthcheck. Cette approche évite les erreurs de connexion au démarrage de l'application Django.
Quelle est la différence entre COPY et ADD dans un Dockerfile pour une application Django ?
Comment optimiser le cache des layers Docker lors de l'installation des dépendances Python ?
+17 questions d'entretien
Autres sujets d'entretien Django
Les bases de Python
Python orienté objet
Fondamentaux Django
Models Django - Bases
Vues Django
Templates Django
Formulaires Django
QuerySets avancés
Authentification Django
Middleware Django
Admin Django
Django REST Framework
Signaux Django
Upload de fichiers
Cache Django
Sessions Django
Email Django
Tests Django
Sécurité Django
Déploiement Django
ORM Django avancé
Performance Django
Django & Celery
Django Channels
Django & GraphQL
Django dans un écosystème Microservices
Commandes Django personnalisées
Internationalisation Django
Design Patterns Django
Django Async & ASGI
Settings & Configuration Production
Observabilité & Monitoring
Maîtrise Django pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement