دوكر (برمجية)

برنامج افتراضي حر، هدفه الأساسي إنشاء نسخ افتراضية للنظام

دوكر هي تقنية جديدة ونوعية شبيهة بالنظم الافتراضية (بالإنجليزية: Virtual System)‏ ولكنها تقوم بعملية إنشاء نسخ افتراضية للنظام[7]، وذلك من خلال إنتاج حاويات تتشارك فيها النواة مع النظام المضيف، حيث أن هذه الحاويات تلعب دور غلاف حاوي لتطبيق ما، بحيث يصبح قائما بذاته، مستقل؛ أي أن هذا التطبيق آو المشروع بكامل احتياجاته ليعمل يكون داخل حاوية (قد تكون حاوية واحدة أو عدة حاويات تتخاطب في ما بينها), وبالتالي فان ذلك يقلل من استهلاك موارد الجهاز . الجدير بالذكر أيضا أن القائمين على مشروع Docker قاموا بتوفير ما يسمى بـ Docker Hub يمكن ان تتشارك فيه صور المشروع (إذا كان مفتوح المصدر), حيث يوجد به الكثير من الحلول المفتوحة المصدر والقابلة للاستخدام

دوكر
Docker (container engine) logo.svg
الشعار
معلومات عامة
نوع
نظام التشغيل
المنصة
موقع الويب
(الإنجليزية) www.docker.comالاطلاع ومراجعة البيانات على ويكي داتا
معلومات تقنية
لغة البرمجة
الإصدار الأخير
المستودع
الرخصة

نشأتهعدل

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

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

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

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

مراجععدل

  1. ^ https://docs.docker.com/engine/installation/linux/ — تاريخ الاطلاع: 19 أغسطس 2016
  2. ^ https://docs.docker.com/docker-for-windows/ — تاريخ الاطلاع: 19 أغسطس 2016
  3. ^ https://docs.docker.com/docker-for-mac/ — تاريخ الاطلاع: 19 أغسطس 2016
  4. ^ http://thenewstack.io/go-programming-language-helps-docker-container-ecosystem/ — تاريخ الاطلاع: 19 أغسطس 2016
  5. ^ https://github.com/docker/docker/blob/master/LICENSE
  6. ^ https://github.com/docker/docker/blob/master/LICENSE — تاريخ الاطلاع: 26 مارس 2017 — العنوان : LICENSE
  7. ^ البرنامج الافتراضي الحر دوكر (بالإنجليزية)
  8. ^ "What is a Container". Docker (باللغة الإنجليزية). مؤرشف من الأصل في 6 أغسطس 2018. اطلع عليه بتاريخ 17 فبراير 2018. الوسيط |CitationClass= تم تجاهله (مساعدة)
  9. ^ المقارنة بين دوكر وباقي الأنظمة الافتراضية (بالفرنسية)

وصلات خارجيةعدل