ملخص
في هذا المنشور، تناولنا مقدمة عن حاويات الإرساء وشرحنا مفهوم النقل بالحاويات من خلال توضيح المفاهيم ومثال عملي. قمنا أيضًا بتغطية تكوين وبناء وتشغيل حاويات الإرساء وشرحنا مفهوم تشغيل حاويات الإرساء المتعددة معًا من خلال إنشاء عامل الإرساء.
يغطي هذا المنشور إجابات ل مقدمة إلى دوكر و مقدمة إلى الحاويات غرفة في TryHackMe.
ما هو الحاويات
في مصطلحات الحوسبة، تعتبر الحاويات هي عملية تجميع التطبيق والموارد الضرورية (مثل المكتبات والحزم) المطلوبة في حزمة واحدة تسمى الحاوية. إن عملية تجميع التطبيقات معًا تجعل التطبيقات محمولة إلى حد كبير وخالية من المتاعب في التشغيل.
غالبًا ما تكون التطبيقات الحديثة معقدة وتعتمد عادةً على الأطر والمكتبات التي يتم تثبيتها على الجهاز قبل تشغيل التطبيق. يمكن لهذه التبعيات:
- يكون من الصعب تثبيته اعتمادًا على البيئة التي يعمل بها التطبيق (بعض أنظمة التشغيل قد لا تدعمها حتى!)
- خلق صعوبة للمطورين في تشخيص الأخطاء وتكرارها، لأنها قد تكون مشكلة في بيئة التطبيق - وليس التطبيق نفسه!
- يمكن أن تتعارض في كثير من الأحيان مع بعضها البعض. على سبيل المثال، يعد وجود إصدارات متعددة من Python لتشغيل تطبيقات مختلفة بمثابة صداع للمستخدم، وقد يعمل التطبيق مع إصدار واحد من Python وليس آخر.
ما هي حاويات دوكر؟
Docker عبارة عن منصة خالية من المتاعب وواسعة النطاق ومفتوحة المصدر لنقل الحاويات. يسمح نظام Docker البيئي بنشر التطبيقات (الصور - سنتطرق إليها في غرفة لاحقة) وإدارتها ومشاركتها بسهولة.
يعمل على لينكسوWindows وMacOS، يعد Docker خيارًا ذكيًا لتشغيل التطبيقات. يمكن نشر التطبيقات على هيئة "صور" ومشاركتها مع الآخرين. كل ما هو مطلوب هو سحب (تنزيل) الصورة وتشغيلها باستخدام Docker.
يستخدم Docker نفس التقنية المستخدمة في النقل بالحاويات لعزل التطبيقات في حاويات تسمى Docker Engine. يعد Docker Engine في الأساس واجهة برمجة تطبيقات تعمل على نظام التشغيل المضيف، والتي تتواصل بين نظام التشغيل والحاويات للوصول إلى أجهزة النظام (مثل وحدة المعالجة المركزية وذاكرة الوصول العشوائي والشبكات والقرص).
ولهذا السبب، يعد محرك Docker واسع النطاق ويسمح لك بالقيام بأشياء مثل:
- ربط الحاويات معًا (على سبيل المثال، حاوية تقوم بتشغيل تطبيق ويب وحاوية أخرى تقوم بتشغيل قاعدة بيانات)
- تطبيقات التصدير والاستيراد (صور)
- نقل الملفات بين نظام التشغيل والحاوية
يستخدم Docker بناء جملة البرمجة يامل للسماح للمطورين بإرشاد كيفية إنشاء الحاوية وما يتم تشغيله. وهذا سبب مهم يجعل Docker محمولاً وسهل التصحيح؛ قم بمشاركة التعليمات، وسيتم إنشاءها وتشغيلها على أي جهاز يدعم Docker Engine.
إجابات التحديات
ما هو اختصار لغة البرمجة التي يستخدمها Docker؟
أين تم عرض Docker لأول مرة؟
ما هو إصدار يونكس الذي كان لديه المفاهيم الأولى للنقل بالحاويات؟
يحذب
صورة عامل ميناء، كيف سيبدو أمرنا؟إذا أردنا إدراج جميع الصور الموجودة على جهاز يقوم بتشغيل Docker، كيف سيبدو الأمر الذي سنصدره؟
لنفترض أننا أردنا سحب الصورة "tryhackme" (بدون اقتباسات)؛ كيف سيبدو أمرنا؟
لنفترض أننا أردنا سحب الصورة "tryhackme" مع العلامة "1337" (بدون اقتباسات). كيف سيكون شكل أمرنا؟
كيف سيبدو أمرنا إذا أردنا تشغيل حاوية بشكل تفاعلي?
ملاحظة: افترض أننا لا نحدد أي صورة هنا.
كيف سيبدو أمرنا إذا أردنا تشغيل حاوية في "منفصل" وضع؟
ملاحظة: افترض أننا لا نحدد أي صورة هنا.
لنفترض أننا نريد تشغيل حاوية سيتم تشغيلها و ربط خادم الويب على المنفذ 80. كيف سيبدو أمرنا؟
ملحوظة: افترض أننا لا نحدد أي صورة هنا.
كيف يمكننا سرد كل شيء جري حاويات؟
الآن، كيف يمكننا القائمة الجميع الحاويات (بما في ذلك توقف)؟
ما أمر عامل الإرساء الذي سنستخدمه لإنشاء صورة باستخدام ملف Dockerfile؟
لنفترض أننا نريد تسمية هذه الصورة؛ ما هي الحجة التي سوف نستخدمها؟
عامل ميناء يؤلف
ل .بدء سلسلة من الحاويات. ما هي الحجة التي تسمح لي أن أفعل هذا؟أريد أن استخدام عامل ميناء يؤلف
ل يمسح سلسلة الحاويات. ما هي الحجة التي تسمح لي أن أفعل هذا؟
ما هو اسم الملف .yml الذي عامل ميناء يؤلف
الاستخدامات؟
ملحوظة: لهذا السؤال، سوف تحتاج إلى تضمين .yml امتداد الملف في إجابتك
استخدم Docker لبدء خادم ويب بصورة "خادم الويب" (بدون عروض أسعار). سوف تحتاج إلى قم بتشغيل الحاوية بالمنفذ 80.
بعد بدء تشغيل الحاوية، حاول الاتصال بها https://LAB_WEB_URL.p.thmlabs.com/ في المتصفح الخاص بك. ما هو العلم؟