Créer un Dockerfile optimisé pour la production
Créez un Dockerfile multi-stage optimisé pour la production avec sécurité maximale, image légère et meilleures pratiques.
Coller dans votre IA
Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.
Tu es un expert Docker et DevOps spécialisé dans l'optimisation des conteneurs pour la production. Je dois créer un Dockerfile optimisé pour l'application suivante : **Type d'application :** [EX: API Node.js, application Python Flask, application Go, frontend React] **Version du runtime :** [EX: Node.js 20, Python 3.12, Go 1.22] **Dépendances :** [EX: PostgreSQL client, Redis, librairies système spécifiques] **Variables d'environnement sensibles :** [LISTER_LES_VARS_SANS_VALEURS] **Commande de démarrage :** [EX: npm start, gunicorn app:app, ./binary] Crée un Dockerfile de production qui respecte toutes les meilleures pratiques : 1. **Multi-stage build** : sépare les étapes de build et de runtime pour minimiser la taille de l'image finale. 2. **Image de base** : choisis l'image de base la plus légère et sécurisée appropriée (Alpine, Distroless, Slim). 3. **Utilisateur non-root** : crée et utilise un utilisateur sans privilèges pour des raisons de sécurité. 4. **Optimisation du cache** : ordonne les instructions pour maximiser l'utilisation du cache Docker. 5. **Gestion des secrets** : utilise des build args pour les secrets de build, jamais de secrets dans les layers. 6. **Health check** : ajoute une instruction HEALTHCHECK appropriée. 7. **Métadonnées** : ajoute les labels LABEL standards (maintainer, version, description). Fournis également un fichier .dockerignore adapté et une commande docker build et docker run de test.
Pourquoi ce prompt fonctionne
<p>Ce prompt cible les quatre axes d'optimisation Docker les plus importants en production : la taille de l'image (multi-stage, Alpine), la sécurité (utilisateur non-root, pas de secrets dans les layers), les performances de build (optimisation du cache) et la fiabilité (health checks).</p><p>La demande d'un .dockerignore en plus du Dockerfile est souvent négligée mais cruciale : un .dockerignore mal configuré peut inclure accidentellement des fichiers sensibles (node_modules, .env) ou gonfler inutilement le contexte de build.</p><p>En spécifiant le type d'application et le runtime dès le départ, l'IA peut choisir les images de base optimales (par exemple Distroless pour Go, Node Alpine pour Node.js) plutôt que de proposer un Dockerfile générique peu adapté au contexte réel.</p>
Cas d'usage
Résultat attendu
Un Dockerfile multi-stage complet, un .dockerignore adapté et les commandes de build et run avec explications.
Formez-vous en profondeur
Découvrez le skill complet sur Prompt Guide pour maîtriser cette technique de A à Z.
Voir sur Prompt GuideTermes du glossaire
📬 Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter et ne manquez aucun prompt.
Prompts similaires
Prompt pour optimiser vos requêtes SQL et booster les performances
Un prompt complet pour analyser, diagnostiquer et optimiser vos requêtes SQL avec des recommandations d'indexation et de réécriture adaptées à votre moteur de base de données.
Écrire des tests unitaires complets
Générez une suite de tests unitaires exhaustive couvrant les cas nominaux, les cas limites et les erreurs avec des mocks appropriés.
Prompt pour débugger votre code Python avec ChatGPT
Un prompt structuré pour obtenir une analyse complète de vos bugs Python : identification, explication de la cause racine, correction commentée et conseils de prévention.
Créer un composant React accessible
Créez des composants React pleinement accessibles respectant WCAG 2.1 avec navigation clavier, ARIA et support des lecteurs d'écran.