Docker Compose هو أداة تمكّن المستخدمين من تعريف وتشغيل تطبيقات Docker متعددة الحاويات. باستخدام Docker Compose، يمكنك استخدام ملف YAML لتكوين خدمات التطبيق، والشبكات، والحجم، مما يتيح لك تشغيل عدة حاويات مترابطة وتُدار كوحدة واحدة.
تم تقديم Docker Compose في عام 2014 كطريقة لتبسيط إدارة تطبيقات Docker متعددة الحاويات. ومنذ ذلك الحين أصبح أداة شائعة في نظام Docker البيئي، حيث يوفر طريقة بسيطة وفعّالة لتنسيق الحاويات.
كيف يعمل Docker Compose
يعمل Docker Compose عن طريق قراءة ملف YAML يصف خدمات التطبيق، والشبكات، والحجم. كل خدمة تُعرّف كحاوية، ويحدد ملف YAML كيفية تكوين الحاويات وكيفية تواصلها مع بعضها البعض.
عند تشغيل Docker Compose، يتم إنشاء شبكة للتطبيق وتُشغَّل الحاويات المعرفة في ملف YAML. تُشغَّل الحاويات وفق الترتيب المحدد في الملف، وتُعطى كل حاوية مجموعة خاصة من المتغيّرات البيئية، وملفات التكوين، وغيرها من الموارد.
بمجرد تشغيل الحاويات، يوفر Docker Compose مجموعة من الأوامر لإدارة التطبيق، مثل بدء وإيقاف الحاويات، توسيع الخدمات، وعرض السجلات.
استخدام Docker Compose
لاستخدام Docker Compose، تحتاج أولاً إلى إنشاء ملف YAML يصف تطبيقك. إليك مثالاً على ملف Docker Compose YAML بسيط:
version: '3'
services:
web:
image: nginx
ports:
- "8000:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
في هذا المثال، لدينا خدمتان: “web” و “db”. خدمة “web” تستخدم صورة nginx وتفتح المنفذ 8000 على المضيف. خدمة “db” تستخدم صورة postgres وتحدد المتغيّر البيئي POSTGRES_PASSWORD.
لبدء التطبيق، يمكنك تشغيل الأمر التالي:
docker-compose up
يقوم هذا الأمر بقراءة ملف YAML وتشغيل الحاويات المعرفة في الملف. بعد ذلك يمكنك الوصول إلى خدمة الويب بفتح متصفح والانتقال إلى http://localhost:8000.
الخلاصة
Docker Compose أداة قوية لإدارة تطبيقات Docker متعددة الحاويات. باستخدام Docker Compose، يمكنك تعريف تطبيقك كمجموعة من الحاويات المترابطة، مما يسهل إدارة وتوسيع تطبيقك. من خلال استخدام ملف YAML بسيط لتكوين التطبيق، يتيح لك Docker Compose إنشاء، تشغيل، وإدارة تطبيقات معقدة تعتمد على الحاويات بسهولة.