لمن هذا؟
الفرق التي تصف حزمتها البرمجية بالفعل في ملف docker-compose وتريد تشغيلها خلف الحافة دون إعادة بنائها خدمةً بخدمة.
كيف يعمل؟
الخدمات التي لها صورة مبنية مسبقاً تصبح تطبيقات حاويات؛ أما خدمات Redis وMySQL/MariaDB وPostgres وNATS فتُحوَّل إلى إضافات مُدارة وتُربط بالتطبيقات التي تعتمد عليها. وتُعيَّن المنافذ والبيئة والوحدات التخزينية والنسخ المتماثلة وفحوص السلامة وترتيب depends_on تلقائياً.
المعاينة قبل التطبيق
تحلّل المعاينة الملف على جانب الخادم وتُرجع الخطة: التطبيقات التي ستُنشأ، وتعيينات الإضافات، ومفاتيح البيئة مقابل الأسرار، والتحذيرات، والخدمات غير المدعومة، وما إذا كانت تتوافق مع حصتك. لا يُنشأ أي شيء حتى تطبّق، ولا تُعاد قيم الأسرار أبداً — بل أسماء المفاتيح فقط.
آمن بشكل افتراضي
التطبيق قائم على مبدأ الكل أو لا شيء داخل معاملة واحدة: إذا كان اسم تطبيق موجوداً مسبقاً أو فشلت خطوة، لا يُنشأ أي شيء. أما المفاتيح ذات الطابع السرّي مثل كلمات المرور والرموز ومفاتيح API فتُخزَّن كأسرار بدلاً من قيم بيئة عادية.
كيفية النشر خطوة بخطوة
جهّز ملف compose الخاص بك
تأكّد من أن كل خدمة تستخدم صورة مبنية مسبقاً (مثلاً image: myorg/web:1.2). الخدمات التي تحتوي فقط على خطوة build: غير مدعومة بعد، لذا ادفعها إلى سجلّ أولاً. أما خدمات Redis وMySQL/MariaDB وPostgres وNATS فلا تحتاج إلى صورة — إذ تُحوَّل تلقائياً إلى إضافات مُدارة.
(للصور الخاصة) أضف بيانات اعتماد السجلّ
إذا كانت أي صورة خاصة، افتح تطبيقات الحاويات ← بيانات اعتماد السجلّ مرة واحدة وأضف اسم المستخدم ورمز الوصول الخاص بسجلّك، حتى تتمكّن المنصة من سحب الصورة أثناء النشر. تخطَّ هذه الخطوة إذا كانت جميع صورك عامة.
استورد الملف
في اللوحة، افتح تطبيقات الحاويات ← "الاستيراد من Docker Compose"، ثم ارفع أو الصق ملف docker-compose.yml. لا يُنشأ أي شيء في هذه المرحلة — فالاستيراد يقرأ الملف فقط.
عاين الخطة
يُحلَّل الملف على الخادم فتحصل على الخطة الكاملة قبل حدوث أي شيء: أي تطبيقات حاويات ستُنشأ، وأي خدمات ستصبح إضافات مُدارة، وأي مفاتيح تُخزَّن كمتغيّرات بيئة مقابل أسرار، وأي تحذيرات أو خدمات غير مدعومة، وما إذا كانت تتوافق مع حصتك.
طبّق
أكّد للتطبيق. في معاملة واحدة قائمة على مبدأ الكل أو لا شيء، تُنشأ التطبيقات والإضافات وتُربط معاً — إذ تُعيَّن لك المنافذ والبيئة والوحدات التخزينية والنسخ المتماثلة وفحوص السلامة وترتيب depends_on. وإذا فشلت أي خطوة، لا يُنشأ أي شيء.
الكشف والإدارة
اكشف خدمة الويب للحصول على رابط name.cdn.com.tr مجاني مع HTTPS تلقائي، أو اربط نطاقك الخاص. من هناك أدِر السجلات والبيئة والتوسّع وإعادة التشغيل في اللوحة. تفضّل الطرفية؟ إن الأمرين "cdnctl container compose preview" و"… apply" ينجزان الشيء نفسه بأمرين.
سيناريوهات مثال
انقل مشروع compose متعدد الخدمات إلى تطبيقات وإضافات مُدارة.
جهّز بيئة مراجعة أو عرض توضيحي من ملف compose نفسه.
استخدم ملف compose واحداً كمصدر للحقيقة عبر المشاريع.
الأسئلة الشائعة
هل يبني الصور من المصدر؟
لا. تحتاج كل خدمة تطبيق إلى صورة مبنية مسبقاً. أما الخدمات التي تعرّف خطوة build فقط فتُدرَج كغير مدعومة في المعاينة، لتتمكّن من دفع صورة أولاً.
ماذا يحدث لقاعدة بياناتي أو خدمة Redis؟
تُحوَّل خدمات Redis وMySQL/MariaDB وPostgres وNATS إلى إضافات مُدارة وتُربط بالتطبيقات التي تعتمد عليها، بدلاً من تشغيلها كحاويات خام.
هل هناك حدّ؟
يتعامل الاستيراد الواحد مع ما يصل إلى 20 خدمة. شغّل المعاينة أولاً لرؤية الخطة الكاملة وما إذا كانت تتوافق مع حصة حسابك.