معمارية Docker ومكوناتها للمبتدئين

دعنا نتعرف على هندسة Docker ومكوناتها الأساسية.

أفترض أن لديك فهمًا أساسيًا لـ Docker. إذا لم يكن كذلك ، يمكنك الرجوع إلى هذه المقالة السابقة.

أعتقد أنك تفهم أهمية Docker في DevOps. الآن وراء هذه الأداة الرائعة ، يجب أن تكون هناك بنية مدهشة ومدروسة جيدًا. أليس كذلك؟

لكن قبل أن أتحدث عن ذلك ، اسمحوا لي أن أعرض أنظمة المحاكاة الافتراضية السابقة والحالية.

التقليدية مقابل الجيل الجديد الافتراضية

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

الآن في حالة حاوية عامل الإرساء ، لديك نظام تشغيل واحد ، وتتم مشاركة الموارد بين الحاويات. ومن ثم فهي خفيفة الوزن ويمكن التمهيد في ثوان.

العمارة Docker

يوجد أدناه مخطط بسيط لهندسة Docker.

اسمحوا لي أن أشرح لك مكونات بنية عامل الميناء.

محرك Docker

إنه الجزء الأساسي من نظام Docker بأكمله. Docker Engine هو تطبيق يتبع بنية خادم العميل. يتم تثبيته على الجهاز المضيف. هناك ثلاثة مكونات في Docker Engine:

  • الخادم: هو برنامج عامل ميناء يسمى dockerd. يمكنه إنشاء وإدارة صور عامل ميناء. حاويات وشبكات وما إلى ذلك.
  • Rest API: يتم استخدامه لتوجيه docker daemon ما يجب القيام به.
  • واجهة سطر الأوامر (CLI): هي عميل يتم استخدامه لإدخال أوامر عامل الإرساء.
  كيفية حذف جهات الاتصال من جهاز iPhone الخاص بك

عميل Docker

يمكن لمستخدمي Docker التفاعل مع Docker من خلال العميل. عند تشغيل أي أوامر عامل ميناء ، يرسلها العميل إلى dockerd daemon ، الذي ينفذها. يتم استخدام Docker API بواسطة أوامر Docker. يمكن لعميل Docker التواصل مع أكثر من برنامج خفي.

سجلات Docker

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

عند تنفيذ أوامر Docker pull أو docker run ، يتم سحب صورة عامل الإرساء المطلوبة من التسجيل الذي تم تكوينه. عند تنفيذ أمر Docker push ، يتم تخزين صورة عامل الإرساء في السجل الذي تم تكوينه.

كائنات عامل ميناء

عندما تعمل مع Docker ، فإنك تستخدم الصور والحاويات والمجلدات والشبكات ؛ كل هذه كائنات عامل ميناء.

الصور

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

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

  كيفية البحث عن موضوع عبر الإنترنت

حاويات

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

يوجد أدناه نموذج لأمر لتشغيل حاوية ubuntu docker:

docker run -i -t ubuntu /bin/bash

أحجام

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

يمكنك استخدام علامة -v أو –mount لبدء حاوية ذات وحدة تخزين. في نموذج الأمر هذا ، أنت تستخدم حجم geekvolume مع حاوية admingate.org.

docker run -d --name admingate.org  -v geekvolume:/app nginx:latest

الشبكات

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

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

    استنتاج

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

    استمتعت بقراءة المقال؟ ماذا عن المشاركة مع العالم؟