مرجع
آخر الزيارات

دوكر

753 كلمة•0 مشاهدة•🗒️ منذ 12 يوماً
باختصار: دوكر هي مجموعة من منتجات المنصة خدمة التي تستعمل المحاكاة الافتراضية بمستوى نظام التشغيل لتقديم البرنامج في حزم تسمى الحاويات. تجد هنا «النشأة»، «الفرق بين دوكر والآلات الافتراضية» و«المكونات» ضمن 4 أقسام.
المحتويات
  1. النشأة
  2. الفرق بين دوكر والآلات الافتراضية
  3. المكونات
  4. الأدوات
دوكر

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

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

النشأة

في عام 2017، أنشأت دوكر مشروع موبي للبحث والتطوير المفتوح.

وفي السياق ذاته، من أسباب نجاح دوكر أنه أحدث نقلة نوعية في عملية تطوير التطبيقات، كما مكن المطورين من المشاركة والعمل على نفس المشروع فيما بينهم بسهولة وكذلك من إزالة بعض التعقيدات البرمجية.

من جانب آخر، تأسست شركة دوكر من قبل سولومون هيكيس وسيباستيان بال خلال مجموعة حاضنة Y Combinator Summer 2010 التي تم إطلاقها في سنة 2011. بدأ هيكيس مشروع دوكر في فرنسا كمشروع داخلي داخل دوت كلاود (dotCloud)، وهي شركة منصة كخدمة.

علاوةً على ذلك، بدأ المشروع عام 2008 كمشروع صغير مفتوح المصدر باسم إل إكس سي (LXC)، لكن البداية الحقيقية لهذا التكنولوجيا كانت عام 2013 على يد شركة دوكر التي نشرت هذة التكنولوجيا بشكل رسمي وأصبح دوكر من أهم مكونات المنصات السحابية PaaS اللازمة لتطوير التطبيقات وأكثرها انتشارا.

الفرق بين دوكر والآلات الافتراضية

وفي السياق ذاته، يعد دوكر أخف بكثير من الآلات الافتراضية، حيث يمكن تشغيل العشرات من الحاويات في حاسوب عادي واحد، في حين لا يمكن تشغيل 3-4 آلات افتراضية في حاسوب عادي واحد ولو كان قويا نسبيا. أي أن دوكر يستهلك موارد أقل بكثير. ثم إن الآلات الافتراضية تقوم بمحاكاة كامل النظام وكل ما فيه ووضعه فوق النظام المضيف، في حين يقوم دوكر بتشارك النواة (Linux kernel) مع النظام المضيف. ما يقوم به دوكر هو تنزيل التوزيعات فقط، أي الـ bins/libs لكل توزيعة فقط، في حين يتشارك النواة مع النظام المضيف ولا يُنزّل نواة جديدة مع تلك التوزيعة. تلك الـ bins/libs كفيلة لمحاكاة بيئة التوزيعة المرجوة، أما النواة فهي متشابهة بين جميع التوزيعات وبالتالي يتقاسمها مع النظام المضيف وهو يعمل على كافة أنواع أنظمة التشغيل، هذا إلى جانب أن دوكر يعزل التطبيق واعتمادياته فقط، في حين الآلات الافتراضية تعزل كامل النظام وما فيه من تطبيقات.

المكونات

وفي السياق ذاته، تسمح خدمة دوكر بتحجيم الحاويات عبر الكثير من عفاريت دوكر. والنتيجة هي ما يعرف بسرب، مجموعة من العفاريت المتعاونين الذين يقومون بالتواصل من خلال واجهة برمجة تطبيقات دوكر.

وفي هذا الصدد، الكائنات: كائنات دوكر هي كيانات مختلفة تستعمل لتجميع تطبيق في دوكر. الفئات الرئيسية من كائنات دوكر هي الصور والحاويات والخدمات.

من جانب آخر، السجلات: سجل دوكر هو مستودع لصور دوكر. يتصل عملاء دوكر بالسجلات لتنزيل (سحب) الصور لاستخدامها أو تحميل (دفع) الصور التي قاموا ببنائها. يمكن أن تكون السجلات عامة أو خاصة. السجلان العامان الرئيسيان هما دوكر هب و دوكر كلاود. دوكر هب هو التسجيل الافتراضي حيث يبحث دوكر عن الصور. تسمح سجلات دوكر كذلك بإنشاء إشعارات تستند إلى الأحداث.

يتكون برنامج دوكر كخدمة من ثلاثة مكونات:

من جهة ثانية، البرمجيات: عفريت دوكر، ويسمى بدوكرد (dockerd)، هي عملية مستمرة تدير حاويات دوكر وتعالج كائنات الحاوية. يستمع العفريت للطلبات المرسلة عبر واجهة برمجة تطبيقات محرك دوكر. يوفر برنامج دوكر العميل، المسمى بدوكر، واجهة سطر الأوامر التي تسمح للمستعملين بالتفاعل مع عفريت دوكر.

كذلك، حاوية دوكر هي بيئة مغلفة قياسية تقوم بتشغيل التطبيقات. تتم إدارة الحاوية باستخدام واجهة برمجة تطبيقات دوكر أو CLI.

ومن ناحية أخرى، صورة دوكر هي قالب للقراءة فقط يستعمل لبناء الحاويات. يتم استخدام الصور لتخزين التطبيقات وشحنها.

الأدوات

المراجع

وفي هذا الصدد، دوكر سوارم (Docker Swarm) الذي يوفر وظائف التجميع الأصلية لحاويات دوكرويحول مجموعة من محركات دوكر إلى محرك دوكر افتراضي واحد. في دوكر 1.12 وأعلى، وضع سوارم يدمج مع محرك دوكر. يسمح CLI دوكر سوارم للمستعملين بالقيام بتشغيل حاويات سوارم وإنشاء رموز توكن وتعداد العقد في الكتلة وأكثر. تسمح عقدة دوكر للمستعملين بتشغيل أوامر مختلفة لإدارة العقد في سوارم، مثلًا، سرد العقد في سوارم وتحديث العقد وإزالة العقد من سوارم. يدار دوكر سوارم باستخدام خوارزمية توافق الآراء رافت. بحسب رافت، ليتم تنفيذ التحديث، فإن غالبية عقد سوارم تحتاج إلى الاتفاق على التحديث.

إضافةً إلى ذلك، دوكر كومبوس (Docker Compose) هي أداة لتعريف وتشغيل تطبيقات دوكر متعددة الحاويات. ويستعمل ملفات YAML لتكوين خدمات التطبيق وللقيام بعملية الإنشاء وبدء التشغيل لكافة الحاويات ذات الأمر الواحد. تسمح الأداة المساعدة CLI الخاصة بدوكر كومبوس للمستعملين بتشغيل الأوامر على حاويات متعددة في وقت واحد، مثلًا، بناء الصور وتحجيم الحاويات وتشغيل الحاويات التي تم إيقافها والمزيد. الأوامر المتعلقة بمعالجة الصور، أو الخيارات التفاعلية للمستعمل، ليست ذات صلة بدوكر كومبوس لأنها تتناول حاوية واحدة. يتم استخدام ملف docker-compose.yml لتعريف خدمات التطبيق ويتضمن خيارات تكوين مختلفة. مثلًا، يحدد خيار الإنشاء خيارات التكوين مثل مسار ملف دوكر (Dockerfile)، يسمح خيار الأمر بتجاوز أوامر دوكر الافتراضية، والمزيد. تم إصدار أول إصدار تجريبي من دوكر كومبوس (الإصدار 0.0.1) في 21 ديسمبر عام 2013. تم توفير أول إصدار جاهز للإنتاج (1.0) في 16 أكتوبر 2014.

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.