ما هو دوكير ولماذا نحتاجه؟

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

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

للتعرف على النظام بشكل موسع جدا وتعلم ما سيجعلك قادر على بناء حاويات دوكير، يمكنك التوجه إلى الرابط التالي وتعلم كل ما يوجد بخصوص دوكير: https://docs.docker.com/

ما هو دوكير Docker

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

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

كيف يعمل دوكير

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

بسبب هذا الأمر، يمكن للحاويات أن تقوم بتقديم جميع مميزات الأجهزة الوهمية، بما في ذلك خاصية العزل، ولكن بتكلفة أقل وتقدم استغلال أفضل للموارد. بالإضافة إلى ما سبق، هناك 3 أمور مهمة تقدمها هذه الخاصية:

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

من خلال تقليل عدد الخوادم، يمكن للشركات والأفراد تقليل مصاريفهم بشكل كبير جدا والاعتماد على عتاد أقل من أجل إنتاج أعلى.