حرف C

حاوية

Container

آخر تحديث: 2026-10-24
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

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

الشرح التقني المتقدم

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

تقنيات العزل والتحكم في الموارد

تعتمد الحاويات في بنيتها التحتية على ميزات أساسية مدمجة في نظام لينكس لضمان عزل العمليات (Processes) وإدارة استهلاك الموارد بكفاءة عالية:

مجموعات التحكم (cgroups): تلعب دورا حيويا في النظام (System)، حيث تتحكم في كمية الذاكرة والمعالج التي يمكن لكل حاوية استهلاكها لضمان استقرار الخادم وعدم احتكار الموارد.

إدارة الحاويات باستخدام دوكر (Docker)

لإنشاء وتشغيل حاوية جديدة في وضع تفاعلي بعد التأكد من تحميل صورة النظام من المستودع، نستخدم السلسلة التالية:

أمر التنفيذ:

docker pull ubuntu && docker run -it ubuntu /bin/bash

توضيح لما يحدث أو الفروقات التقنية:

  • الرمز &&: يربط الأمرين، لضمان عدم تنفيذ أمر run اللاحق إلا إذا نجحت عملية التحميل بالكامل.
  • الخيار -it: يدمج بين إبقاء الإدخال التفاعلي نشطا وتخصيص طرفية (Terminal) تتيح لك كتابة الأوامر مباشرة داخل الحاوية.

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

يجب التعامل مع الحاويات على أنها بيئات مؤقتة وسريعة الزوال (Ephemeral)، لذا تجنب حفظ البيانات الدائمة داخلها، واستخدم دائما وحدات التخزين المستقلة (Volumes) لضمان استمرارية البيانات حتى عند حذف الحاوية.

المصادر المعتمدة :