ما هي Docker Container؟ الوظيفة والمكونات والفوائد والتطور
نشرت: 2020-11-23"Docker" عبارة عن نظام أساسي تم تعيينه كمنتج خدمة (PaaS) يهدف إلى تقديم البرامج في شكل حزم ، والتي تسمى حاويات. يستخدم معايير المحاكاة الافتراضية على مستوى نظام التشغيل ، حيث تسمح النواة بمثيلات متعددة لمساحة المستخدم المعزولة مثل الحاويات ، والأقسام ، والمناطق ، والنواة الافتراضية ، وما إلى ذلك.
تعمل هذه الأجهزة ككمبيوترات حقيقية تحاكي طريقة تشغيل البرامج فيها. في نظام التشغيل العادي ، نرى الموارد التي يعمل عليها برنامج الكمبيوتر. في الحاويات ، يمكننا فقط رؤية المحتويات والأجهزة المخصصة للحاوية عند تشغيل البرامج فيها.
بالنسبة للعديد من المطورين في الصناعة اليوم ، يعتبر Docker هو المعيار المقبول لتطوير ومشاركة التطبيقات المعبأة في حاويات ، عبر سطح المكتب والسحابة. الحاويات هي وحدة برامجية معيارية. يستخدمه المطورون لعزل التطبيق عن بيئته. نظرًا لخصائصها خفيفة الوزن ، يمكن تشغيل العديد من حاويات عامل الإرساء (عادةً ما يزيد عن ثماني حاويات لكل مضيف) على خادم واحد أو جهاز افتراضي ، في وقت واحد.
تم تصميم Docker للمطورين لبناء حاويات برامج خفيفة الوزن ومحمولة. تعمل حزم الحاويات على تسهيل تطوير التطبيقات ونشرها واختبارها بشكل مبسط. لقد صنعوا في البداية Docker لنظام التشغيل Linux. ومع ذلك ، فإنه يعمل الآن على مجموعة من أنظمة التشغيل: Linux و Windows و Datacenter و Cloud و Serverless وما إلى ذلك.
جدول المحتويات
تطور
تم إطلاق Docker ، وهو مشروع مفتوح المصدر ، في عام 2013. قامت Docker Inc. بتطويره بشكل أكبر لاعتماد السحابة الأصلية ، مما أدى إلى اتجاه نحو الحاوية والخدمات المصغرة في مجال البرمجيات. أصدرت Docker "إصدار المؤسسة" في عام 2017.
يواجه تطوير البرامج الحديثة تحدي إدارة التطبيقات على مضيف أو مجموعة مشتركة. هناك حاجة لفصل التطبيقات عن بعضها البعض لتجنب التداخل وقابلية التشغيل البيني فيما يتعلق بالتشغيل أو الصيانة. يعتبر اقتران الحزم والمكتبات والثنائيات ومكونات البرامج الأخرى المطلوبة لتشغيل التطبيق أمرًا بالغ الأهمية لإدارة تطوير التطبيق.

كان الأسلوب التقليدي لمعالجة هذه المشكلة هو استخدام الأجهزة الافتراضية (VMs). الأجهزة الافتراضية المستخدمة لمحاكاة نظام الكمبيوتر.
أعلى قراءة: أفكار وموضوعات مشروع Docker
فوائد
تحتفظ أجهزة VM هذه بالتطبيقات على نفس الأجهزة ، ولكنها تفصل بينها تقريبًا. تهدف إلى التحكم في التعارضات التي تنشأ بين مكونات البرامج وتقليل موارد الأجهزة. ومع ذلك ، على مدار فترة من الزمن ، أصبحت الأجهزة الافتراضية ضخمة الحجم ، من حيث حجم الذاكرة لأنها تتطلب نظام تشغيل أصلي.
بالنسبة لمتطلبات الذاكرة المتزايدة باستمرار ، فقد أصبح من الصعب الحفاظ عليها وترقيتها لأن التطبيقات قد تتضمن أجهزة أو برامج متخصصة أو مزيجًا من الاثنين.
فيما يلي بعض فوائد حاويات Docker:
- توحيد معايير البيئة - يمكن مشاركة بيئة الإنتاج بشكل تعاوني لتطويرها أو اختبارها أو صيانتها.
- تكوين أسرع ومتسق - يسهل تكوين الصورة على المستخدمين غير المتميزين العمل بسرعة.
- اعتماد أسرع لـ DevOps - يدعم في مراحل الأتمتة الرئيسية: النشر والتشغيل والتحسين.
- التعافي الآمن من الكوارث - السحب المنخفض في DR مع الحد الأدنى من وقت الاسترداد.
يجب أن تقرأ: راتب Docker في الهند
عملية
يتم تشغيل كل حاوية بواسطة نواة نظام تشغيل واحدة ، وبالتالي فهي تستخدم موارد أقل من الأجهزة الافتراضية. تشارك الحاويات ، المعبأة بشكل مكثف على نفس الجهاز ، النواة الأساسية لنظام التشغيل مع العديد من التطبيقات ، ومع ذلك تعزل بيئات التنفيذ عن بعضها البعض. تستخدم الحاويات موارد أقل بكثير من الأجهزة الافتراضية وهي سريعة.

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

يتم استخدام أمر Docker 'run' لإنشاء حاوية وبدء تشغيلها على مضيف عامل الإرساء المحلي. من ناحية أخرى ، تشير "خدمة" Docker إلى حاوية واحدة أو أكثر بنفس التكوين تعمل ضمن الوضع السحابي لـ Docker. إنه مشابه لجري Docker حيث يقوم المستخدم بتدوير الحاوية ، مما يشكل عملية تبديل.
دور
نظرًا لأن الحاويات تفصل التطبيقات عن نظام التشغيل ، يحصل المستخدمون على نظام تشغيل نظيف ومحدود للمساعدة في تشغيل كل شيء آخر في أكثر من حاوية واحدة معزولة. مع نظام التشغيل المستخرج من الحاويات ، يصبح من الممكن نقل الحاوية عبر أي خادم يدعم بيئة وقت تشغيل الحاوية.
عناصر
- محرك Docker: هو برنامج يستضيف الحاويات. إنه جوهر Docker والمحرك الأساسي للخادم العميل المسؤول عن إنشاء الحاويات وتشغيلها.
- Dockerfile: تبدأ حاوية Docker بملف Dockerfile. إنه ملف نصي مكتوب بصيغة مبسطة للتعليمات المستخدمة لإنشاء صورة Docker (مثيل). تبدأ كل حاوية عامل ميناء بملف Dockerfile المعين.
- صورة Docker: بعد كتابة Dockerfile ، يتم استخدام Docker build لإنشاء صورة ثابتة كما هو محدد في تعليمات Dockerfile. صورة Docker هي مثال لملف محمول ، وهي في الأساس لقطة لحاوية. يحتوي على مجموعة من المواصفات التي يتم تشغيلها بواسطة الحاوية لمكونات البرنامج. تصبح صور الحاوية حاويات في وقت التشغيل في حاويات Docker ، وتصبح الصور حاويات عند تشغيلها على Docker Engine.
- تشغيل Docker: يُستخدم الأمر "تشغيل" لبدء تشغيل حاوية. كل حاوية هي حالة معينة للصورة. الحاويات بطبيعتها لحظية ، لأنها تعمل على الطاير ويمكن إيقافها وإعادة تشغيلها. يمكنك تشغيل أكثر من مثيل حاوية للصورة في وقت واحد.
- سجل Docker: إنه مستودع لصور Docker. هذا مكان حيث يمكن للعملاء المسجلين مشاركة الصور. يمكنك تنزيل (تسمى "سحب") الصور لاستخدامها في التطوير أو تحميل ("دفع") الصور الموجودة. كما يسمح بإنشاء إخطارات بناءً على الأحداث المحددة. يمكن أن يكون التسجيل عامًا أو خاصًا في النوع. Docker Hub و Docker Cloud أمثلة على السجلات العامة الرئيسية. Docker Hub هو السجل الافتراضي الذي يبحث فيه Docker عن الصور.
- Docker hub: هو مستودع SaaS يستخدم لمشاركة الحاويات وإدارتها. تشارك صور Docker الرسمية التي يكون مصدرها في مشاريع مفتوحة المصدر وبائعي البرامج والصور غير الرسمية التي ينشرها المستخدمون في المجال العام.
خاتمة
تشترك الحاويات في أنظمة التشغيل ، بينما تم تصميم الأجهزة الافتراضية لمحاكاة الأجهزة الافتراضية. تعتبر حاويات Docker مناسبة للمواقف التي تحتاج فيها العديد من التطبيقات إلى التشغيل عبر نواة نظام تشغيل واحدة.
أنت بحاجة إلى أجهزة افتراضية إذا كان لديك تطبيقات أو خوادم يجب تشغيلها على نكهات مختلفة لنظام التشغيل. خلال التطورات التكنولوجية السريعة لسيناريوهات اليوم ، يعد Docker ، وهو مورد خفيف الوزن ، بديلاً مفضلاً للأجهزة الافتراضية.
إذا كنت مهتمًا بمعرفة المزيد عن البيانات الضخمة ، فراجع دبلوم PG الخاص بـ upGrad & IIIT-B في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ومهام ، IIIT- حالة الخريجين B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.