لكي نستطيع فهم Docker، سنبدأ بشرحٍ مبسطٍ لمفهوم الجهاز الافتراضي virtual machine:
هو عبارة عن تطبيقاتٍ تقوم بمحاكاة معالج الحاسوب والهارد وغيرها وكأنها أجهزة وهمية ضمن الجهاز الحقيقي، حيث تقوم بتنصيب أنظمة تشغيل مختلفة على نفس الجهاز، وذلك لتوفير أداء أعلى للأجهزة عالية السرعة والقدرات مثل السيرفرات ومحاكاة أنظمة التشغيل المختلفة. أمثلة عنها: vmware, virtualbox
ما هو Docker؟
دوكر هو أداة صُممت لجعل تطوير البرامج وتشغيلها أسهل عبر ما يسمى بالحاوية. فالحاويات تسمح للمطور بتخزين التطبيقات بكل الأجزاء التي تحتاجها، مثل المكتبات والمتطلبات الأخرى، ومن ثم يتم شحنها كلها كأنها حزمة واحدة. وبفضل هذه التقنية، يمكن للمطورين أن يرتاحوا عند تشغيل برامجهم على أي جهاز بنظام لينكس Linux بدون الحاجة إلى إعداداتٍ مخصصة.
بصيغة أخرى، فإن دوكر هي مثل الجهاز الافتراضي، ولكنها بعكس الأجهزة الافتراضية، فإنها لا تنشئ نظاماً وهمياً كاملاً فوق جهازك، ولذلك فهي لا تستهلك إلا القليل جداً من موارد الجهاز، وتسمح باستخدام نفس نواة نظام لينكس للجهاز الذي تعمل عليه، مما يجعل البرامج أخف والأداء أعلى.
والأهم أن دوكر مفتوحة المصدر، وهذا يعني أن أي شخص يمكنه أن يضيف على هذه التقنية احتياجاته الخاصة ومميزاته الإضافية، حتى لو كانت غير موجودة في الموقع الأصلي.
من يستخدم Docker؟
دوكر أداة صُممت ليستفيد منها المطورون ومدراء أنظمة التشغيل.
بالنسبة للمطورين، فذلك يعني أنهم سيركزوا فقط على كتابة الكود، دون القلق حول النظام الذي سيعمل عليه البرنامج، وهو يسمح لهم بالبدء انطلاقاً من أحد آلاف البرامج الجاهزة مع مكاتبها لإنشاء تطبيقاتهم، دون الحاجة لاستدعاء المكاتب من جديد مع كل مشروع.
أما بالنسبة للمستخدمين، فتعطيهم المرونة والقدرة على تخفيض الأنظمة والموارد التي يحتاجونها بسبب خفة البرنامج.
Docker والأمان
دوكر يؤمن حماية التطبيقات التي تعمل على بيئة مشتركة، ولكن الحاويات وحدها ليست بديلاً عن اتخاذ تدابير أمنية مناسبة. دان والش Dan Walsh، رائد في أمن المعلومات والمعروف من عمله في SELinux، أعطى منظوره في أهمية التأكد من أن حاويات دوكر آمنة، كما قدم أيضاً تفاصيل الثغرات الأمنية الموجودة في دوكر وطريقة حمايتها.
ما الفرق بين النظام الافتراضي وبين Docker؟
كما نلاحظ في الصورة، فإن الأجهزة الافتراضية تقوم ببناء نظام تشغيل جديد لكل تطبيق مع الحاجة لجلب المكتبات في كل مرة، وهذا يستهلك الكثير من جهود المخدم وموارده. أما دوكر فيقوم بعزل التطبيقات دون الحاجة لتعدد أنظمة التشغيل أو لتحميل المكتبات مرة ثانية.
لمعرفة المزيد حول نظام دوكر والتعرف عليه شاهد الفيديو التالي: