الرئيسيةعريقبحث

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

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

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

نشأته

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

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

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

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

مراجع

  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. Release 19.03.10 — تاريخ الاطلاع: 30 مايو 2020 — تاريخ النشر: 29 مايو 2020
  6. https://github.com/docker/docker/blob/master/LICENSE
  7. https://github.com/docker/docker/blob/master/LICENSE — تاريخ الاطلاع: 26 مارس 2017 — العنوان : LICENSE
  8. البرنامج الافتراضي الحر دوكر (بالإنجليزية)
  9. "What is a Container". Docker (باللغة الإنجليزية). مؤرشف من الأصل في 6 أغسطس 201817 فبراير 2018.
  10. المقارنة بين دوكر وباقي الأنظمة الافتراضية (بالفرنسية)

موسوعات ذات صلة :