مقدمة عن docker

  • مقدمة عن docker

مقدمة عن docker

  • docker هو محرك لحاويات التطبيقات، يمكنه تغليف التطبيق مع حزم التبعيات الخاصة به في حاوية قابلة للنقل، ثم نشرها على أي جهاز Linux أو Windows شائع، ويمكنه أيضًا تحقيق الافتراضية.
  • لماذا يوجد docker؟ لأن المطورين والإداريين غالبًا ما يواجهون نوعًا من المشكلات، حيث يعمل التطبيق دون أي مشكلة على بيئة المطور، ولكن في بيئة الإنتاج الفعلية يظهر خطأ تلو الآخر.
    • تشغيل البرنامج يمر من بنية الأجهزة إلى نظام التشغيل، ثم إلى تطبيق البرنامج، وهذه كلها طبقات مختلفة، لكن غالبًا ما يركز المطورون فقط على تطوير التطبيق، ويتجاهلون مشكلات الطبقات الأخرى.
    • ظهور docker هو لحل هذه المشكلة، حيث يغلف التطبيق مع تبعياته في حاوية واحدة، وبذلك لا داعي للقلق بشأن مشاكل البيئة.
  • مزامنة بيئة التطوير والإنتاج، بحيث يمكن للمطورين تطوير وفحص ونشر التطبيقات محليًا دون القلق بشأن مشاكل البيئة. يحسن بشكل كبير من كفاءة التطوير والتشغيل، ويتطلب فقط بعض إهدار الموارد.

أنا أوصي بشدة أن يتعلم جميع المطورين استخدام الحاويات للتطوير والنشر، فهي توفر لتطبيقك بيئة تشغيل مستقرة بتكلفة منخفضة نسبيًا، وبالتالي تحسن من كفاءة التطوير والتشغيل.

وصف لتدفق عمل باستخدام docker بلغة بسيطة:

  1. إنشاء بيئة تطوير من الصفر، تشمل نظام التشغيل، تطبيق البرنامج، حزم التبعيات، ملفات التكوين وغيرها.
    • يمكن تشغيل البيئة في أي مكان، ويمكن إنشاؤها في أي مكان.
    • نتائج الترجمة المصدرية لبيئة مستقرة وقابلة للتنبؤ، مع سلوك متطابق بالكامل.
    • لا تنتج أي لبس في تشغيل البرامج داخل البيئة.
    • من الأفضل إنشاء البيئة باستخدام طريقة إعلانية (docker-compose)، لتخفيض الاختلافات الخفية في البيئة بشكل أكبر، حيث تكون جميع جوانب البيئة موضحة بالفعل في الإعلان.
  2. إنشاء commit، وإنشاء صورة، وهذا يعادل لقطة، لحفظ البيئة الحالية لاستخدامها لاحقًا.
  3. مشاركة الصورة مع مطورين وإداريين آخرين، بحيث يقوم الجميع بتوحيد العمل بناءً على نفس السياق.
  4. مع تطور الأعمال والاحتياجات، تعديل الصورة، وإعادة إنشاء commit، وإعادة إنشاء الصورة، وإعادة التوزيع.

البنية الأساسية لـ docker