ماهو docker و مامكوناته وفيما يستخدم

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

ماهى الحاويات او Containers

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

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

ماهو Docker دوكر

Docker هو مشروع مفتوح المصدر يجعل من السهل إنشاء حاويات Containers وانشاء تطبيقات قائمة على الحاويات. تم تصميم Docker في الأصل لنظام Linux ، ويعمل الآن على نظامي التشغيل Windows و MacOS أيضًا. لفهم كيفية عمل Docker ، دعنا نلقي نظرة على بعض المكونات التي قد تستخدمها لإنشاء تطبيقات قائمة على Docker .

ملف Dockerfile

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

صورة دوكر Docker image

بمجرد كتابة Dockerfile الخاص بك ، يمكنك استدعاء الأداة المساعدة Docker build لإنشاء صورة بناءً على Dockerfile هذا. في حين أن Dockerfile هو مجموعة التعليمات التي تخبرنا بكيفية بناء الصورة ، فإن صورة Docker هي ملف محمول يحتوي على المواصفات الخاصة بمكونات البرنامج التى تستخدم فى تشغيل الحاوية.

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

امر Docker run

الأداة المساعدة للتشغيل في Docker هو الأمر الذي يقوم بتشغيل الحاوية. كل حاوية هي فى الاساس صورة.  يمكن إيقاف الحاوية اوإعادة تشغيلها ، مما يؤدي إلى تشغيل الحاوية في نفس الحالة التي كانت عليها عندما تم إيقافها. علاوة على ذلك ، يمكن تشغيل اكثر من حاوية  من نفس الصورة في وقت واحد (طالما أن لكل حاوية اسم فريد).

مستودع دوكر Docker Hub

مستودع دوكر هو آلية لمشاركة الصور Images بحيث لاتحتاج إلى انشاء جميع الصور التى تحتاجها فى برامجك.

يقوم اصحاب التطبيقات البرمجية بنشر Docker Image لبرامجهم على سبيل المثال وردبريس وايضًا يمكن للاشخاص العاديين مشاركة صور من انشاءهم

ويمكنك بسهولة تحميل الصور من المستودع او حتى مشاركة صورك خاصة من انشائك.

محرك دوكر Docker Engine

Docker Engine هو جوهر Docker ، وهي تقنية الخادم-العميل client-server الأساسية التي تنشئ وتدير الحاويات ، عندما نقول Docker  بشكل عام فاننا  نقصد Docker Engine وليس موقع دوكر.

هناك إصداران مختلفان من Docker Engine موجودان: Docker Engine Enterprise و Docker Engine Community.


كتب بواسطة عمرو العربى

مؤسس مطور

التعليقات

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

*