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 :
- Utiliser un multi-stage build pour réduire la taille de l'image finale
- Choisir une image de base légère et sécurisée (Alpine ou Distroless selon le contexte)
- Optimiser le cache des layers Docker (dépendances avant code source)
- Créer un utilisateur non-root pour l'exécution
- Inclure un HEALTHCHECK adapté au type d'application
- Définir les variables d'environnement nécessaires avec des valeurs par défaut sensées
- Ajouter un fichier .dockerignore recommandé
- 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)
Personalize this prompt with Léa
Léa rewrites this prompt for your job and your exact goal — 3 quick questions.
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.
Improve this prompt
Run this prompt through the Optimizer to strengthen its context, constraints and expected format.
Improve this prompt with the OptimizerComments
- LéaAI
Ajoutez `--platform=linux/amd64` dans `FROM` si vous déployez sur ARM (ex: M1) via émulation, pour éviter des incompatibilités silencieuses. Testez aussi `docker scout` après le build pour détecter les failles CVE.
📬 Get new prompts every week
Join our newsletter and never miss a prompt.
Go further
Similar Prompts
Sora Prompt for Creating E2E Tests
End-to-end (E2E) tests are essential for ensuring application reliability, but writing them remains time-consuming and repetitive. Sora, thanks to its advanced generation capabilities, makes it possible to automate the creation of complete E2E test scenarios in seconds. By formulating a precise prompt describing user journeys, expected interactions, and validation criteria, you obtain structured test suites covering nominal cases as well as edge cases. The prompt engineering approach applied to Sora transforms how QA and development teams approach test coverage. Instead of starting from a blank page, you describe the expected behavior of your application in natural language, and Sora generates the corresponding test code with appropriate assertions. This method significantly reduces the time needed to set up an E2E suite while maintaining a professional quality level. Whether you use Playwright, Cypress, or Selenium, the prompts presented here adapt to your technical stack and the complexity of your application.
Implement rate limiting
Protect APIs from abuse
GitHub Copilot Prompt for Creating a REST API
GitHub Copilot has become an essential assistant for developers looking to accelerate the creation of REST APIs. Thanks to its direct integration into the code editor, it understands the context of your project and generates structured code in real time. Whether you work with Node.js and Express, Python and FastAPI, or Java and Spring Boot, Copilot adapts to your tech stack to produce endpoints conforming to REST conventions. The main challenge lies in formulating the prompt: a well-structured prompt yields a complete API with data validation, error handling, authentication, and documentation. A vague prompt, on the other hand, will produce generic code requiring many adjustments. In this guide, we offer an optimized prompt that fully leverages GitHub Copilot's capabilities to generate a professional, testable, production-ready REST API. You will also discover variants adapted to your experience level as well as practical tips to get the most out of this tool on a daily basis.
Implement CSP with nonces
Prevent XSS with strict CSP