مولّد Docker Compose
كتابة docker-compose.yml يدويًا تعني تذكّر المسافات البادئة الدقيقة، ووضع علامات الاقتباس حول كل تعيين منافذ، ومعرفة سلسلة الإصدار التي يفهمها برنامج Compose لديك. يتيح لك هذا المولّد تعريف الخدمات عبر حقول بسيطة: اسم، وصورة، وتعيينات منافذ مضيف:حاوية، وأحجام تخزين. ويخرج ملف YAML صالحًا وفق مواصفات Compose الحديثة (بدون مفتاح إصدار) مع إعدادات افتراضية منطقية.
كيفية بناء ملف Compose
-
1
أضف الخدمات
حدد لكل خدمة اسمًا وصورة وتعيينات منافذ مضيف:حاوية وأحجام تخزين. توجد خدمتان جاهزتان كبداية.
-
2
عدّل الصفوف أو احذفها
عدّل أي حقل مباشرة، أو أضف خدمة أخرى بزر + Service، أو احذف الصف الذي لا تحتاجه.
-
3
راجع ملف YAML الناتج
تتحدث المعاينة أثناء الكتابة: توضع تعيينات المنافذ بين علامتي اقتباس ويُحذف مفتاح الإصدار كما تتطلب مواصفات Compose الحديثة.
-
4
انسخ الملف
انسخ ملف docker-compose.yml الناتج والصقه في جذر مشروعك.
مواصفات Compose الحديثة
يتبع Compose V2 (الملحق المرفق مع Docker Desktop ومحرك Docker الحديث) مواصفات Compose. مفتاح version: مهمَل؛ يحذفه المولّد. مفاتيح المستوى الأعلى هي services وnetworks وvolumes وconfigs وsecrets.
بنية الخدمة
تبدو الخدمة القريبة من الإنتاج هكذا:
services:
web:
image: nginx:1.27-alpine
restart: unless-stopped
ports:
- "80:80"
volumes:
- ./public:/usr/share/nginx/html:ro
depends_on:
app:
condition: service_healthy
networks:
- frontend
- backend
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost/health"]
interval: 30s
timeout: 5s
retries: 3
أحجام التخزين: الربط المباشر مقابل الحجم المسمّى
- الربط المباشر (
./app:/var/www) يربط الحاوية بمسار على المضيف؛ ممتاز للتطوير المحلي لأن التغييرات تظهر فورًا. - الحجم المسمّى (
pgdata:/var/lib/postgresql/data) يديره Docker ويبقى مستقلًا عن أي مسار على المضيف؛ الخيار الصحيح لقواعد البيانات وأي شيء لا تريد حذفه بالخطأ باستخدامrm -rf. - الحجم المجهول - تجنّبه. يبقى بعد إعادة التشغيل لكنه يختفي دون تحذير عند
docker compose down -v.
الشبكات
افتراضيًا ينشئ Compose شبكة باسم المشروع ويصل كل خدمة بها. يكون التصريح بشبكات صريحة مفيدًا عندما:
- تريد عزل قاعدة بيانات عن خدمة مواجهة للجمهور.
- تحتاج إلى جسر بشبكة فرعية مخصصة لتتوافق مع البنية التحتية القائمة.
- تريد ربط الحاويات بشبكة خارجية موجودة مسبقًا (
external: true).
أخطاء شائعة يجدر تجنبها
- تضارب مفتاح الإصدار.
version: "3.8"في الأعلى يمنع الميزات الأحدث مثلstart_intervalفي healthcheck من العمل على Compose القديم؛ يحذف المولّد مفتاح الإصدار. - اقتباس المنافذ. يُفسَّر
8080:80على أنه YAML بنظام العدّ الستيني في بعض الحالات النادرة؛ يضع المولّد دائمًا تعيينات المنافذ بين علامتي اقتباس. - أسرار مكتوبة مباشرة. الأسرار المكتوبة مباشرة في compose.yml تُدرج في git. احتفظ بها في
env_fileأو في مخزن الأسرار الخاص بالمنصة. - depends_on بدون شرط.
depends_on: [db]البسيط ينتظر بدء الحاوية لا جاهزية الخدمة. استخدمcondition: service_healthyوأضف فحص صحة إلى الخدمة التابعة.
الأسئلة الشائعة
مواصفات Compose الحالية (المنسجمة مع Docker Compose V2). يحذف الملف مفتاح version:، وهذه طريقة كتابة ملفات Compose الحديثة. يعمل مع Docker Compose V2.22 والإصدارات الأحدث.
لا عبر النموذج في هذه النسخة. يركز المولّد على تعريفات الخدمات بالصورة والمنافذ وأحجام التخزين. يمكنك إضافة الشبكات ومتغيرات البيئة وفحوص الصحة ومفاتيح أخرى إلى ملف YAML الناتج يدويًا قبل استخدامه.
لا، تركز هذه الأداة على compose.yml. لملفات Dockerfile، استخدم مولّد Dockerfile الذي يتولى اختيار الصورة الأساسية وترتيب COPY/RUN لخمس تقنيات.
لا. تُستخدم تعريفات الخدمات فقط لبناء ملف YAML في هذه الصفحة. لا تُخزَّن ولا تُرفع ولا تُشارَك.
أدوات ذات صلة
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
مرجع أحرف HTML
قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.
مرجع اختصارات لوحة المفاتيح
ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.
عدّاد FPS
قِس معدل الإطارات FPS في المتصفح عبر requestAnimationFrame: تنعيم، وأدنى وأقصى معدل إطارات، وحد تنبيه، ورسم بياني اختياري. يعمل محليًا بلا رفع ملفات وبلا API.
منسق JSON
الصق JSON لتنسيقه بمسافتين أو أربع مسافات، أو تصغيره إلى ناتج مضغوط، أو فحص بنيته بسرعة قبل نسخ النتيجة.
مولد لوحة الألوان
أنشئ لوحات ألوان أحادية أو متجاورة أو مكملة أو ثلاثية أو رباعية من لون HEX أساسي، ثم صدّر متغيرات CSS جاهزة للنسخ.
الأداة متاحة بلغات أخرى
- Docker Compose 생성기 [KO]
- Trình tạo Docker Compose [VI]
- Docker Compose-generator [NL]
- Docker Compose 生成器 [ZH]
- Docker-Compose-Generator [DE]
- Docker Compose Generator [EN]
- Generator Docker Compose [ID]
- Docker Compose-generator [SV]
- Generator Docker Compose [PL]
- ตัวสร้าง Docker Compose [TH]
- Generador de Docker Compose [ES]
- Générateur Docker Compose [FR]
- Gerador de Docker Compose [PT]
- Docker Composeジェネレーター [JA]
- Docker Compose Oluşturucu [TR]
- Generatore di Docker Compose [IT]
- Генератор Docker Compose [RU]