Docker Compose لتطبيقات متعددة الخدمات
التطبيق الحقيقي نادرًا ما يكون حاوية واحدة — هناك خدمة API وقاعدة بيانات وأحيانًا cache. بدلاً من تشغيل كل واحدة بأمر docker run منفصل وربطها يدويًا، يصف ملف compose.yaml جميع الخدمات معًا، ويقوم docker compose up بتشغيلها كلها دفعة واحدة. في هذا الدرس نرى كيف تجد الخدمات بعضها البعض بالاسم، ولماذا
Docker Compose يشبه مدير مسرح واحد يبدأ العرض بأكمله معًا: كل الممثلين يصعدون إلى المسرح معًا ويعرفون بعضهم البعض باسم الدور، لا برقم المقعد.
- service
- تعريف حاوية واحدة داخل compose — أي image أو build يُستخدم، وأي متغيرات بيئة ومنافذ و volumes. كل service يعمل كوحدة مستقلة لكنها متصلة بالبقية.
- ملف compose
- ملف YAML يصف جميع خدمات التطبيق وشبكاته و volumes في مكان واحد، بحيث يستطيع docker compose up تشغيل كل شيء معًا بطريقة قابلة لإعادة الإنتاج.
- depends_on
- إعداد يتحكم في ترتيب البدء فقط: يبدأ Compose الخدمة المعتمَد عليها أولاً. لا ينتظر حتى تصبح تلك الخدمة جاهزة لاستقبال الطلبات — لذلك تحتاج إلى healthcheck مع condition: service_healthy.