ما Docker Compose؟
افهموا الغرض من Docker Compose وكيفية تنسيقه للتطبيقات متعددة الحاويات
ما Docker Compose؟ درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
مرحبًا بك في Docker Compose!
مرحبًا بك! لقد تعلمت حتى الآن تشغيل حاويات منفردة. لكن ماذا لو كان تطبيقك يحتاج إلى أكثر من حاوية واحدة؟
لا تتكون معظم التطبيقات الواقعية من حاوية واحدة فقط. فهي غالبًا ما تتضمن خادم ويب وقاعدة بيانات وذاكرة تخزين مؤقت وغير ذلك!

تحدي الحاويات المتعددة
تخيل أنك تشغّل تطبيق ويب مع قاعدة بيانات. ستحتاج إلى أوامر docker run منفصلة لكل منهما.
سرعان ما يصبح الأمر معقدًا! كيف سيتواصلان معًا؟ وكيف ستبدأ تشغيلهما بالترتيب الصحيح؟
قد تكون إدارة حاويات متعددة واتصالاتها يدويًا أمرًا شاقًا وعرضةً للأخطاء.
التعريف بـ Docker Compose
هنا يأتي دور Docker Compose! فهو أداة لتعريف تطبيقات Docker متعددة الحاويات وتشغيلها.
بدلًا من استخدام العديد من أوامر docker run المنفردة، تعرّف مكدس تطبيقك بالكامل في ملف إعداد واحد.
ملف Compose: docker-compose.yml
يستخدم Docker Compose ملفًا باسم docker-compose.yml (أو اسمًا مشابهًا) لإعداد خدمات تطبيقك.
يستخدم هذا الملف تنسيقًا بسيطًا وسهل القراءة للبشر يسمى YAML (Yet Another Markup Language) لوصف كل شيء.
إنه أشبه بمخطط لتطبيقك بالكامل.
ما هي الخدمات في Compose؟
في ملف docker-compose.yml، يُسمى كل جزء من تطبيقك خدمة.
- تمثل الخدمة عادةً حاوية واحدة.
- تحدد صورة Docker التي تستخدمها.
- يمكنك إعداد منافذها ووحدات تخزينها ومتغيرات بيئتها وتبعياتها وغير ذلك!
يتولى Compose إدارة الشبكات
من الميزات الرائعة في Docker Compose أنه يبسّط الاتصال الشبكي بين حاوياتك.
ينشئ Compose افتراضيًا شبكة واحدة لجميع الخدمات المعرّفة في ملف docker-compose.yml.
يتيح ذلك لخدماتك، مثل تطبيق الويب وقاعدة البيانات، التواصل بسهولة مع بعضها باستخدام أسماء خدماتها كأسماء مضيفين.
إدارة البيانات باستخدام Compose
كما هي الحال مع الحاويات المنفردة، غالبًا ما تحتاج التطبيقات متعددة الحاويات إلى بيانات مستمرة.
يتيح لك Docker Compose تعريف وحدات التخزين وإدارتها داخل ملف docker-compose.yml.
يضمن ذلك، على سبيل المثال، عدم فقدان بيانات قاعدة البيانات عند إيقاف الحاويات أو إزالتها، مما يحافظ على سلامة البيانات.
سير عمل Compose البسيط
بمجرد تجهيز ملف docker-compose.yml، يصبح تشغيل تطبيقك بالكامل سهلًا جدًا!
انتقل فقط إلى الدليل الذي يحتوي على ملفك وشغّل docker compose up.
ينشئ هذا الأمر الحاويات ويبدأ تشغيلها ويربط اتصالك بها لجميع الخدمات المعرّفة في ملفك، كما يبنيها إذا لزم الأمر.
لماذا تستخدم Compose؟ الفوائد الأساسية
يوفر Docker Compose مزايا عديدة، لا سيما في بيئات التطوير والاختبار:
- أمر واحد: ابدأ تشغيل تطبيقك بالكامل أو أوقفه باستخدام أمر واحد.
- قابلية إعادة الإنتاج: يضمن أن يشغّل الجميع الإعداد نفسه تمامًا.
- العزل: تعمل الخدمات في بيئات معزولة.
- تبسيط التطوير: ممتاز لبيئات التطوير المحلية والاختبارات السريعة.
اختبار سريع!
لقد تعلمت الفكرة الأساسية وراء Docker Compose.
لنرَ إن كنت تستطيع تحديد غرضه الرئيسي!
مراجعة: تنسيق تطبيقاتك
أحسنت! أنت تفهم الآن المفهوم الأساسي لـ Docker Compose.
- يبسّط تشغيل التطبيقات متعددة الحاويات.
- يستخدم ملف YAML واحدًا (
docker-compose.yml) لتعريف جميع الخدمات. - يدير الشبكات واستمرار البيانات لخدماتك.
- يجعل تطوير التطبيقات المعقدة ونشرها أسهل بكثير!
ستتعلم بعد ذلك كيفية كتابة ملف docker-compose.yml الأول لك!
الأسئلة الشائعة
هل درس «ما Docker Compose؟» مجاني؟
نعم — نص درس «ما Docker Compose؟» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «ما Docker Compose؟»؟
افهموا الغرض من Docker Compose وكيفية تنسيقه للتطبيقات متعددة الحاويات تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «ما Docker Compose؟»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ما Docker Compose؟
- كتابة ملف Compose
- نشر التطبيقات متعددة الخدمات
- متغيرات البيئة وملفات .env