مقدمة إلى Docker: ما هو ، الهندسة المعمارية ، سير العمل

نشرت: 2020-04-27

جدول المحتويات

تاريخ الافتراضية

منذ وقت ليس ببعيد من الآن ، كان نشر الخدمة عملية بطيئة ومؤلمة. تضمنت العملية كتابة الكود من قبل فريق التطوير ثم نشره من قبل فريق العمليات على الآلات المعدنية. اعتاد فريق العمليات على قطع عملهم حيث كان عليهم البحث عن مجمعي اللغة والمكتبات والتصحيحات لجعل الكود يعمل.

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

تحسنت الأمور قليلاً عندما تم تطوير برامج Hypervisors. إذن ، ما هي Hypervisors؟ هذه مجموعة من الأجهزة الافتراضية (VMs) التي قد تكون قيد التشغيل أو متوقفة عن العمل بشكل مستمر على فترات منتظمة ، خاصةً عندما لا تكون قيد الاستخدام. ساعدت الأجهزة الافتراضية بالتأكيد من خلال تسريع عملية إصلاح الأخطاء ونشر الكود ، لكن لا يزال لديهم بعض المشكلات. جاءت حاويات Docker كمبدلات حقيقية للعبة. حتى أنهم تناولوا المشكلات التي كانت موجودة في الأجهزة الافتراضية.

قراءة: Kubernetes Vs. عامل ميناء: الاختلافات الأساسية

ما هو Docker؟

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

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

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

إصدار المؤسسة (EE):

تم تصميم هذا الإصدار خصيصًا لفرق تكنولوجيا المعلومات وتطوير المؤسسات. يستخدم هذا الإصدار لتطوير التطبيقات وشحنها وتشغيلها.

إصدار المجتمع (CE):

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

قراءة: أفكار وموضوعات مشروع المكدس الكامل

سير عمل Docker

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

1. Docker Daemon

إنها عملية الخلفية التي تعمل باستمرار لمساعدتك في إدارة الصور ووحدات التخزين والشبكات والحاويات. إنه يبحث دائمًا عن طلبات Docker API لمعالجتها.

2. Docker CLI

إنه عميل واجهة يتفاعل مع Docker Daemon. يساعد المطورين على تبسيط عملية إدارة حالات الحاوية. إنه أحد الأسباب الرئيسية التي تجعل المطورين يفضلون Docker على التطبيقات الأخرى المماثلة .

3. Docker Engine Rest API

يسهل التفاعلات بين Docker daemon والتطبيقات. عادة ما يكون عميل HTTP مطلوبًا للوصول إلى واجهات برمجة التطبيقات هذه.

العمارة عامل الميناء

هندسة Docker هي بنية قائمة على خادم العميل. يحتوي على ثلاثة مكونات رئيسية مذكورة أدناه:

  1. مضيف عامل ميناء
  2. عميل Docker
  3. سجل عامل ميناء
  4. كائنات عامل الميناء

في المرحلة الأولية ، يتفاعل عميل Docker مع البرنامج الخفي ، المسؤول عن أداء الكثير من الأعمال التي تدخل في تطوير وتشغيل وتوزيع حاويات Docker.

يمكن تشغيل Docker daemon والعميل إما على نظام واحد أو يمكن للمطور استخدام برنامج خفي بعيد لتوصيله بعميل Docker محلي. يتم استخدام Rest API لإنشاء اتصال بين Docker daemon والعميل. يمكن القيام بذلك إما عبر واجهة شبكة أو مآخذ توصيل UNIX.

دعنا الآن نناقش مكونات هندسة Docker بالتفصيل.

اقرأ أيضًا: لماذا تصبح مطور Full Stack؟

1. مضيف عامل ميناء

مضيف Docker مسؤول عن تشغيل Docker daemon. يقدم Docker Daemon طلبات واجهة برمجة التطبيقات (API) ، بما في ذلك إنشاء عامل الميناء وتشغيل عامل الإرساء من بين أمور أخرى. كما أنه يدير الصور والشبكات والحاويات وكائنات Docker الأخرى. يمكن لـ Daemons التواصل مع بعضها البعض لإدارة خدمات Docker المختلفة.

2. عميل Docker

إنها ليست سوى الطريقة التي يستخدمها المستخدمون للتفاعل مع Docker. يرسل عميل Docker طلباتنا ، مثل Docker run و Docker يبني إلى Docker daemon. ميزة مهمة جدًا لعميل Docker هي أنه يمكنه التواصل مع العديد من الشياطين.

3. Docker Registry

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

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

4. كائنات عامل الإرساء

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

5. صور عامل ميناء

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

6. حاويات الرصيف

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

خاتمة

الآن بعد أن عرفت ما هي بنية Docker ومكوناتها ، فأنت في وضع أفضل لفهم الزيادة في شعبيتها. إنه يبسط إدارة البنية التحتية ويساعد في جعل الحالات أسرع وأخف وزناً وأكثر مرونة.

إذا كنت مهتمًا بمعرفة المزيد حول ترميز المكدس الكامل ، فراجع دبلومة PG الخاصة بـ upGrad & IIIT-B في تطوير البرامج ذات المكدس الكامل والتي تم تصميمها للمهنيين العاملين وتقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشروعات ، والمهام ، حالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

استعد لمهنة المستقبل

تعلم موثوق به في الصناعة - شهادة معترف بها في الصناعة.
قدم الآن