ملخص

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

يغطي هذا المنشور إجابات ل مقدمة إلى دوكر و مقدمة إلى الحاويات غرفة في TryHackMe.

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

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

غالبًا ما تكون التطبيقات الحديثة معقدة وتعتمد عادةً على الأطر والمكتبات التي يتم تثبيتها على الجهاز قبل تشغيل التطبيق. يمكن لهذه التبعيات:

  • يكون من الصعب تثبيته اعتمادًا على البيئة التي يعمل بها التطبيق (بعض أنظمة التشغيل قد لا تدعمها حتى!)
  • خلق صعوبة للمطورين في تشخيص الأخطاء وتكرارها، لأنها قد تكون مشكلة في بيئة التطبيق - وليس التطبيق نفسه!
  • يمكن أن تتعارض في كثير من الأحيان مع بعضها البعض. على سبيل المثال، يعد وجود إصدارات متعددة من Python لتشغيل تطبيقات مختلفة بمثابة صداع للمستخدم، وقد يعمل التطبيق مع إصدار واحد من Python وليس آخر.

احصل على ملاحظات شهادة OSCP

ما هي حاويات دوكر؟

Docker عبارة عن منصة خالية من المتاعب وواسعة النطاق ومفتوحة المصدر لنقل الحاويات. يسمح نظام Docker البيئي بنشر التطبيقات (الصور - سنتطرق إليها في غرفة لاحقة) وإدارتها ومشاركتها بسهولة.

يعمل على لينكسوWindows وMacOS، يعد Docker خيارًا ذكيًا لتشغيل التطبيقات. يمكن نشر التطبيقات على هيئة "صور" ومشاركتها مع الآخرين. كل ما هو مطلوب هو سحب (تنزيل) الصورة وتشغيلها باستخدام Docker.

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

ولهذا السبب، يعد محرك Docker واسع النطاق ويسمح لك بالقيام بأشياء مثل:

  1. ربط الحاويات معًا (على سبيل المثال، حاوية تقوم بتشغيل تطبيق ويب وحاوية أخرى تقوم بتشغيل قاعدة بيانات)
  2. تطبيقات التصدير والاستيراد (صور)
  3. نقل الملفات بين نظام التشغيل والحاوية

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

إجابات التحديات

ما اسم خاصية النواة التي تسمح للعمليات باستخدام موارد نظام التشغيل دون القدرة على التفاعل مع العمليات الأخرى؟
في طبيعي التكوين، هل يمكن للحاويات الأخرى أن تتفاعل مع بعضها البعض؟ (ياي / لا)
ماذا يصبح التطبيق عند نشره باستخدام Docker؟ التنسيق: xxxxx (املأ علامة x)

ما هو اختصار لغة البرمجة التي يستخدمها Docker؟

في أي عام تم إنشاء Docker في الأصل؟

أين تم عرض Docker لأول مرة؟

ما هو إصدار يونكس الذي كان لديه المفاهيم الأولى للنقل بالحاويات؟

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

إذا أردنا إدراج جميع الصور الموجودة على جهاز يقوم بتشغيل Docker، كيف سيبدو الأمر الذي سنصدره؟

لنفترض أننا أردنا سحب الصورة "tryhackme" (بدون اقتباسات)؛ كيف سيبدو أمرنا؟

لنفترض أننا أردنا سحب الصورة "tryhackme" مع العلامة "1337" (بدون اقتباسات). كيف سيكون شكل أمرنا؟

كيف سيبدو أمرنا إذا أردنا تشغيل حاوية بشكل تفاعلي?

ملاحظة: افترض أننا لا نحدد أي صورة هنا.

كيف سيبدو أمرنا إذا أردنا تشغيل حاوية في "منفصل" وضع؟

ملاحظة: افترض أننا لا نحدد أي صورة هنا.

لنفترض أننا نريد تشغيل حاوية سيتم تشغيلها و ربط خادم الويب على المنفذ 80. كيف سيبدو أمرنا؟

ملحوظة: افترض أننا لا نحدد أي صورة هنا.

كيف يمكننا سرد كل شيء جري حاويات؟

الآن، كيف يمكننا القائمة الجميع الحاويات (بما في ذلك توقف)؟

ما التعليمات التي سنستخدمها لتحديد الصورة الأساسية التي يجب أن تستخدمها الحاوية؟
ما التعليمات التي سنستخدمها لإخبار الحاوية بتشغيل أمر؟

ما أمر عامل الإرساء الذي سنستخدمه لإنشاء صورة باستخدام ملف Dockerfile؟

لنفترض أننا نريد تسمية هذه الصورة؛ ما هي الحجة التي سوف نستخدمها؟

أريد أن استخدام عامل ميناء يؤلف  ل .بدء سلسلة من الحاويات. ما هي الحجة التي تسمح لي أن أفعل هذا؟

أريد أن استخدام عامل ميناء يؤلف  ل يمسح سلسلة الحاويات. ما هي الحجة التي تسمح لي أن أفعل هذا؟

ما هو اسم الملف .yml الذي عامل ميناء يؤلف الاستخدامات؟

ملحوظة: لهذا السؤال، سوف تحتاج إلى تضمين .yml امتداد الملف في إجابتك

ماذا يعني مصطلح "IPC"؟
ما هي التكنولوجيا التي يمكن مساواة خادم Docker بها؟
الاتصال بالجهاز. ما اسم الحاوية التي تعمل حاليا؟

استخدم Docker لبدء خادم ويب بصورة "خادم الويب" (بدون عروض أسعار). سوف تحتاج إلى قم بتشغيل الحاوية بالمنفذ 80.

بعد بدء تشغيل الحاوية، حاول الاتصال بها https://LAB_WEB_URL.p.thmlabs.com/ في المتصفح الخاص بك. ما هو العلم؟

جولة بالفيديو

عن المؤلف

أقوم بإنشاء ملاحظات حول الأمن السيبراني وملاحظات التسويق الرقمي والدورات التدريبية عبر الإنترنت. أقدم أيضًا استشارات التسويق الرقمي بما في ذلك، على سبيل المثال لا الحصر، تحسين محركات البحث وإعلانات Google وMeta وإدارة CRM.

عرض المقالات