Docker Compose
- Docker Compose: دليل شامل للمبتدئين
Docker Compose هي أداة قوية تسمح لك بتحديد وتشغيل تطبيقات متعددة الحاويات. بدلًا من تشغيل كل حاوية بشكل فردي باستخدام أوامر Docker منفصلة، يمكنك استخدام ملف YAML واحد لتعريف جميع الخدمات (الحاويات) التي تشكل تطبيقك، ثم بدء تشغيلها جميعًا بامر واحد. هذا يجعل إدارة التطبيقات المعقدة أسهل بكثير.
ما هو Docker Compose ولماذا نستخدمه؟
تخيل أنك تقوم بتطوير تطبيق ويب يتكون من ثلاثة مكونات رئيسية: خادم ويب (مثل Nginx أو Apache )، وقاعدة بيانات (مثل PostgreSQL أو MySQL )، وتطبيق Python أو Node.js خلفي. بدون Docker Compose، ستحتاج إلى تشغيل كل من هذه المكونات كحاويات Docker منفصلة، مع تتبع الأوامر والشبكات والوحدات التخزينية لكل منها.
Docker Compose يحل هذه المشكلة عن طريق السماح لك بتعريف جميع هذه المكونات في ملف واحد يسمى عادةً docker-compose.yml. هذا الملف يحدد:
- الخدمات: كل خدمة تمثل حاوية Docker واحدة.
- الصور: الصورة التي سيتم استخدامها لإنشاء الحاوية.
- المنافذ: المنافذ التي سيتم تعريضها من الحاوية إلى المضيف.
- وحدات التخزين: وحدات التخزين التي سيتم ربطها بالحاوية.
- الشبكات: الشبكات التي ستنضم إليها الحاوية.
- التبعيات: التبعيات بين الخدمات (على سبيل المثال، التطبيق الخلفي يعتمد على قاعدة البيانات).
باستخدام Docker Compose، يمكنك تشغيل تطبيقك بأكمله بامر بسيط: docker-compose up
. ستقوم Docker Compose تلقائيًا بإنشاء وتشغيل جميع الحاويات المحددة في ملف YAML، وتكوين الشبكات ووحدات التخزين، والتأكد من أن جميع التبعيات يتم تلبيتها.
بناء ملف docker-compose.yml
ملف docker-compose.yml هو قلب Docker Compose. إليك مثال بسيط يوضح كيفية تعريف تطبيق ويب بسيط يتكون من خادم ويب و قاعدة بيانات PostgreSQL:
Admin (talk)yaml version: "3.9" services:
web: image: nginx:latest ports: - "80:80" volumes: - ./html:/usr/share/nginx/html db: image: postgres:13 environment: POSTGRES_USER: myuser POSTGRES_PASSWORD: mypassword volumes: - db_data:/var/lib/postgresql/data
volumes:
db_data:
في هذا المثال:
- version: "3.9" يحدد إصدار صيغة ملف Docker Compose.
- services: يحدد قائمة الخدمات.
- web: هي خدمة تمثل خادم الويب.
* image: nginx:latest يحدد الصورة التي سيتم استخدامها لخادم الويب (أحدث إصدار من Nginx). * ports: يربط المنفذ 80 على المضيف بالمنفذ 80 في الحاوية. * volumes: يربط الدليل ./html على المضيف بالدليل /usr/share/nginx/html في الحاوية.
- db: هي خدمة تمثل قاعدة بيانات PostgreSQL.
* image: postgres:13 يحدد الصورة التي سيتم استخدامها لقاعدة البيانات (الإصدار 13 من PostgreSQL). * environment: يحدد متغيرات البيئة التي سيتم تعيينها في الحاوية. * volumes: يربط وحدة التخزين المسماة db_data بالدليل /var/lib/postgresql/data في الحاوية.
- volumes: يحدد قائمة بوحدات التخزين.
* db_data: هي وحدة تخزين مسماة.
الأوامر الأساسية لـ Docker Compose
بمجرد إنشاء ملف docker-compose.yml، يمكنك استخدام الأوامر التالية لإدارة تطبيقك:
- docker-compose up: يقوم بإنشاء وتشغيل جميع الحاويات المحددة في ملف YAML.
- docker-compose down: يقوم بإيقاف وإزالة جميع الحاويات والشبكات ووحدات التخزين المرتبطة بالتطبيق.
- docker-compose ps: يعرض قائمة بالحاويات قيد التشغيل.
- docker-compose logs: يعرض سجلات الحاويات.
- docker-compose build: يقوم ببناء الصور من ملفات Dockerfile (إذا كانت موجودة).
- docker-compose exec <service> <command>: يقوم بتشغيل أمر داخل حاوية معينة.
مزايا استخدام Docker Compose
- التبسيط: يبسط إدارة التطبيقات متعددة الحاويات.
- إعادة الإنتاجية: يضمن أن تطبيقك يعمل بنفس الطريقة في أي بيئة.
- التحكم في الإصدار: يسمح لك بتتبع التغييرات في تكوين تطبيقك باستخدام نظام التحكم في الإصدار (مثل Git ).
- قابلية التوسع: يجعل من السهل توسيع نطاق تطبيقك عن طريق إضافة المزيد من الحاويات.
مقارنة مع أدوات أخرى
Docker Compose يختلف عن أدوات إدارة الحاويات الأخرى مثل Kubernetes. Kubernetes هو نظام تنسيق حاويات أكثر تعقيدًا مصممًا لتشغيل التطبيقات واسعة النطاق في بيئات الإنتاج. Docker Compose أكثر ملاءمة للتطوير المحلي والاختبار والنشر البسيط.
أمثلة متقدمة
- الشبكات المخصصة: يمكنك تعريف شبكات مخصصة لربط الحاويات ببعضها البعض.
- وحدات التخزين المخصصة: يمكنك تعريف وحدات تخزين مخصصة لتخزين البيانات بشكل دائم.
- متغيرات البيئة: يمكنك استخدام متغيرات البيئة لتكوين الحاويات بشكل ديناميكي.
- ملفات YAML المتعددة: يمكنك تقسيم ملف docker-compose.yml إلى ملفات متعددة لتبسيط التكوين.
استراتيجيات تداول الخيارات الثنائية ذات الصلة
- استراتيجية المضاربة
- استراتيجية المتوسط المتحرك
- استراتيجية الاختراق
- استراتيجية ارتداد الاتجاه
- استراتيجية بولينجر باند
- استراتيجية RSI
- استراتيجية MACD
- استراتيجية ستوكاستيك
- استراتيجية Ichimoku Cloud
- استراتيجية فيبوناتشي
- استراتيجية البين بار
- استراتيجية شمعة الدوجي
- استراتيجية شمعة المطرقة
- استراتيجية شمعة الشهاب
- استراتيجية شمعة الابتلاع
التحليل الفني وحجم التداول
- التحليل الفني
- الشموع اليابانية
- مؤشرات التداول
- حجم التداول
- السيولة
- تقلبات السوق
- التحليل الأساسي
- إدارة المخاطر
- تنويع المحفظة
- الرافعة المالية
- التحليل الموجي إليوت
- نظرية العرض والطلب
- التحليل بين الأسواق
- التحليل الزمني
- التحليل النقطي
Docker Compose هي أداة أساسية لأي شخص يعمل مع Docker. من خلال فهم المفاهيم الأساسية والأوامر، يمكنك تبسيط عملية تطوير ونشر تطبيقاتك.
Docker Docker Hub Docker Swarm Kubernetes YAML Virtualization Containerization Microservices CI/CD DevOps Linux Cloud Computing Nginx PostgreSQL MySQL Git Web Server Database Application Development Server Networking
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين