Configure an Optimized Dockerfile for Your Application
This prompt generates a production-ready Dockerfile with multi-stage build, security best practices and cache optimization, tailored to your language and framework.
Paste in your AI
Paste this prompt in ChatGPT, Claude or Gemini and customize the variables in brackets.
Tu es un expert DevOps spécialisé en containerisation Docker. Génère un Dockerfile complet et optimisé pour la production pour mon application avec les caractéristiques suivantes : - Langage / Runtime : [LANGAGE_ET_VERSION] (ex : Node.js 20, Python 3.12, Go 1.22, Java 21) - Framework utilisé : [FRAMEWORK] (ex : Next.js, FastAPI, Spring Boot, Gin) - Type d'application : [TYPE_APPLICATION] (ex : API REST, application web, worker de queue, cron job) - Base de données ou services externes : [SERVICES_EXTERNES] (ex : PostgreSQL, Redis, S3) - Port d'écoute de l'application : [PORT] Le Dockerfile doit respecter les bonnes pratiques suivantes : 1. Utiliser un multi-stage build pour réduire la taille de l'image finale 2. Choisir une image de base légère et sécurisée (Alpine ou Distroless selon le contexte) 3. Optimiser le cache des layers Docker (dépendances avant code source) 4. Créer un utilisateur non-root pour l'exécution 5. Inclure un HEALTHCHECK adapté au type d'application 6. Définir les variables d'environnement nécessaires avec des valeurs par défaut sensées 7. Ajouter un fichier .dockerignore recommandé 8. Gérer proprement les signaux d'arrêt (graceful shutdown avec tini ou dumb-init si nécessaire) Pour chaque instruction du Dockerfile, ajoute un commentaire expliquant son rôle. Après le Dockerfile, fournis : - Le fichier .dockerignore correspondant - La commande docker build recommandée avec les arguments utiles - La commande docker run avec les flags de sécurité recommandés (--read-only, --cap-drop, etc.) - Un docker-compose.yml minimal si des services externes sont mentionnés - Les optimisations spécifiques au langage choisi (ex : pip --no-cache-dir pour Python, npm ci --omit=dev pour Node.js)
Why this prompt works
<p>This prompt guides the AI to produce a <strong>complete, production-ready Dockerfile</strong>. By specifying your language, framework and application type, you get a custom configuration that follows containerization best practices.</p><p>The variables let you adapt the output to any tech stack. The prompt emphasizes often-overlooked aspects: <strong>multi-stage builds</strong> to reduce image size, running as a <strong>non-root user</strong> for security, and optimizing <strong>layer caching</strong> to speed up successive builds.</p><p>Beyond the Dockerfile itself, you will also get the <strong>.dockerignore</strong>, secure build and run commands, and a docker-compose if needed. It is a solid starting point that you can refine according to your infrastructure constraints.</p>
Use Cases
Expected Output
A commented Dockerfile with multi-stage build, a .dockerignore file, recommended docker build and run commands, and optionally a docker-compose.yml. Each technical choice is explained with a comment.
Learn more
Check the full skill on Prompt Guide to master this technique from A to Z.
View on Prompt Guide📬 Get new prompts every week
Join our newsletter and never miss a prompt.
Similar Prompts
Optimize Your SQL Queries and Boost Performance
A complete prompt to analyze, diagnose, and optimize your SQL queries with indexing and rewriting recommendations adapted to your database engine.
Legacy Code Refactoring
Safely and incrementally refactor legacy code following SOLID principles and modern best practices.
Generate Complete Technical Documentation for Your Code
A complete prompt to generate structured and professional technical documentation, adapted to the target audience and project type.
AI-Assisted Complete Code Review
A complete prompt to get an in-depth code review covering bugs, security, performance, readability, and best practices, with concrete fixes.