ما المقصود بحاويات Linux؟

شخصان في مكتب يشيران إلى شاشة الكمبيوتر.

المؤلفون

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

ما هي حاويات Linux؟

حاويات Linux® (LXCs) هي نوعٌ من الحاويات المستندة إلى نظام التشغيل Linux. تضمّ كل الملفات اللازمة لتشغيل عملية محددة أو عدة عمليات عبر بيئات حوسبة ومسارات متنوّعة.

تُعدّ حاويات Linux اليوم أدوات أساسية في تطوير البرمجيات الحديث، إذ تتيح حزم التطبيقات بسهولة مع جميع اعتماداتها. وتستخدم العديد من التطبيقات الحديثة—مثل Docker وKubernetes وRed Hat OpenShift وMicrosoft Azure وغيرها—حاويات Linux لما توفره من كفاءة إضافية وقابليّة للنقل وميزات الأمان.

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

ما هو Linux؟

يُعدّ Linuxولحدًا من أشهر أنظمة التشغيل مفتوحة المصدر في العالم. ومنذ ابتكاره عام 1991 على يد Linus Torvalds، أصبح Linux بديلًا واسع الاستخدام للأنظمة الاحتكارية مثل Windows وmacOS. ويستند نظام Linux إلى نواة Linux، وهو برنامج يتيح للمستخدمين التحكم في مكوّنات نظام الكمبيوتر مثل الشبكات واستخدام وحدة المعالجة المركزية وبرامج التشغيل وأنظمة الملفات وغيرها.

ومنذ ذلك الحين، أصبحت نواة Linux عنصرًا محوريًا في توزيعات Linux، وهي نسخ مفتوحة المصدر من نظام Linux تُطرح للمستخدمين بانتظام. اليوم، يشغّل Linux طيفًا واسعًا من الأجهزة والتطبيقات الحديثة، وتستخدمه كبريات شركات التقنية والبرمجيات والحوسبة في العالم.  

ما المقصود بالحاويات؟

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

تستفيد الحاويات من شكلٍ من المحاكاة الافتراضية لنظام التشغيل تُستخدم فيه ميزات نواة النظام لعزل العمليات والتحكّم في مقدار قدرة وحدة المعالجة المركزية (CPU) والذاكرة ومساحة القرص التي يمكن للتطبيقات الوصول إليها. تتمتّع الحاويات بقابلية نقل أعلى وكفاءةٍ أفضل في استخدام الموارد مقارنةً بالأجهزة الافتراضية (VMs)، وقد أصبحت عنصرًا أساسيًا في تطبيقات السحابة الأصلية (cloud-native) الحديثة، مثل Netflix وSpotify وAirbnb وغيرها.

أحدث الأخبار التقنية، مدعومة برؤى خبراء

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

شكرًا لك! أنت مشترك.

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

كيف تعمل حاويات Linux؟

تشغّل حاويات Linux التطبيقات في بيئات معزولة على نظامٍ مضيف واحد يستخدم Linux بوصفه نظام التشغيل. وفي صميم وظائف حاويات Linux توجد واجهة سطر الأوامر، المعروفة أيضًا باسم "Shell"، التي تمنح المستخدمين واجهةً نصيّةً للتحكّم بنظام Linux.

مقارنة بين حاويات Linux والأجهزة الافتراضية (VMs)

تشبه حاويات Linux الأجهزة الافتراضية (VMs) من حيث أن كلتيهما طريقتان شائعتان في مجال المحاكاة الافتراضية تدعمان الحوسبة السحابية وتوزيع معظم تطبيقات الأعمال الحديثة. ومع ذلك، توجد فروقٌ مهمّة بينهما.

فبينما تقوم الأجهزة الافتراضية بافتراضية العتاد والبنية التحتية لتكنولوجيا المعلومات، تقتصر حاويات Linux على المحاكاة الافتراضية لنظام التشغيل فقط، ما يجعلها أخفّ وأكثر قابليةً للنقل لتشغيل التطبيقات. كما تختلف أساليب المحاكاة الافتراضية التي تعتمد عليها الأجهزة الافتراضية وحاويات Linux اختلافًا طفيفًا. ففي الأجهزة الافتراضية يوفّر مُشرف الأجهزة الافتراضية (Hypervisor) العزلَ اللازم للموارد لأغراض المحاكاة الافتراضية، أمّا في حاويات Linux فيُحقَّق ذلك عبر صورة الحاوية.

خمس ميزات رئيسية لوظيفة حاويات Linux

الميزات الخمس الأساسية لحاويات Linux التي تمكّن وظائفها الفريدة:

1- مشاركة النواة

تحتاج الأجهزة الافتراضية إلى نظام تشغيل ونواة خاصَّين بكل واحدةٍ منها. أمّا الحاويات فتستفيد من نواة Linux الخاصة بالنظام المضيف، ما يجعلها أخفّ وأسرع إقلاعًا وتشغيلًا من الأجهزة الافتراضية.

2- مجموعات الأسماء (Namespaces)

يستند العزل في حاويات Linux إلى ميزةٍ في نواة Linux تُسمّى مجموعات الأسماء، والتي تُمكّن من عزل موارد معيّنة لعمليات مختلفة. فعلى سبيل المثال، تُستخدم مجموعات أسماء مُعرِّف العمليات (PID namespaces) لعزل العمليات داخل الحاوية نفسها بحيث لا يؤثّر بعضها في بعض.

3. مجموعات التحكّم (Cgroups)

مجموعات Cgroups، وهي اختصار لمجموعات التحكّم (control groups)، هي أداة لإدارة الموارد تتيح للمستخدمين تجميع العمليات هرميًا ثم التحكم في الموارد التي يمكنهم الوصول إليها. فعلى سبيل المثال، كثيرًا ما تُدار العملياتُ الخادِمة (daemons)، التي تتحكّم في دورات حياة الحاويات، عبر cgroups.

4- صور الحاويات (Container images)

صور الحاويات هي حزمةٌ برمجيةٌ تتضمّن كل ما يلزم لتشغيل تطبيق، بما في ذلك التعليمات البرمجية وبيئة التشغيل ومكتبات النظام وأدواته. وتُكسب صورُ الحاويات التطبيقاتِ التي تدعمها قابليّةَ توسّع عالية وقدرةً على العمل في أي بيئةٍ دون إعدادٍ يدوي.

5. بيئات تشغيل الحاويات

بيئات تشغيل الحاويات هي برمجيات تتيح تشغيل الحاويات داخل نظام مضيف، مثل Linux. تُستخدَم بيئات تشغيل الحاويات لإدارة دورة حياة الحاوية. وباستخدام واجهات برمجة التطبيقات (APIs) التي تتيح للتطبيقات التواصل فيما بينها، تعمل بيئات تشغيل الحاويات وسيطًا بين مُنسِّق الحاويات، مثل Kubernetes الذي يدير التطبيق المُحوَّل إلى حاويات، والنظام المضيف الذي يجري التشغيل عليه.

OpenShift 

شاهد كيف تعمل الحاويات في السحابة باستخدام OpenShift

تسهل الحاويات إنشاء التطبيقات وتشغيلها وحركة التطبيقات عبر بيئات مختلفة. يوضح هذا الفيديو كيف يساعد OpenShift on IBM Cloud فرق العمل على إدارة التطبيقات المعبأة في حاويات بكفاءة، مما يجعل تطوير السحابة أسرع وأكثر موثوقية.

تطور النقل بالحاويات

لقد وُجد مفهوم تقنية النقل بالحاويات منذ سبعينيات القرن العشرين، حين قدّم نظام Unix آلية معروفة باسم chroot. وكان Unix—بوصفه نظام تشغيل شائعًا—يُمكّن المستخدمين من التحكّم في موارد الأجهزة والبرمجيات على جهاز كمبيوتر أو جهاز إلكتروني. وكانت ميزة chroot فريدة لأنها سمحت بعزل العمليات على النظام، وهو أمر بالغ الأهمية لتقنيات الحاويات.

وعلى الرغم من أن تقنيات أخرى (مثل AIX Workload Partitions وFreeBSD jails) قدّمت عزلًا مشابهًا للعمليات ومحاكاة افتراضيةً للنظام كما في الحاويات قيد التشغيل، فإن أياً منها لم يحقق الانتشار الواسع نفسه. في عام 2013، أدّى طرح Docker، وهو منصة مفتوحة المصدر لإدارة الحاويات، إلى تعزيز هيمنة الحاويات في النظام البنائي للتطبيقات الحديثة، إذ جعل إنشاء الحاويات وإدارتها ونشرها أسهل من أي وقت مضى.

ولا يمكن المبالغة في هيمنة الحاويات على سوق التطبيقات الحديثة، لا سيما تطبيقات السحابة الأصلية والخدمات المصغّرة. وبحسب تقرير حديث، قُدِّر حجم السوق العالمية للحاويات بنحو 5.85 مليارات دولار أمريكي العام الماضي. ومن المتوقّع أن ينمو بمعدل النمو السنوي المركّب (CAGR) 33% خلال السنوات الخمس القادمة.1

حاويات التطبيقات وحاويات Linux (LXC)

حاويات التطبيقات هي حاويات تُشغّل عمليات وأعباء عمل مفردة، ما يتيح للمستخدمين إنشاء الحاويات وحذفها من دون التأثير في عمليات أخرى أو في وظائف التطبيق. وكانت حاويات التطبيقات (وبالأخص Docker) عاملًا حاسمًا في تمكين التطبيقات التي يعتمد عليها كثير من المستخدمين اليوم—مثل Facebook وMS Word وZoom وغيرها—من الازدهار. وعلى الرغم من وجود تقنيات أحدث مفتوحة المصدر في نواة Linux، مثل Ubuntu وsystem-nspawn، فإن حاويات Linux ما تزال واسعة الاستخدام وتتميّز بالعديد من الفوائد.

فوائد حاوية Linux

وبوصفها مشروعًا مفتوح المصدر، تتطوّر حاويات Linux باستمرار، إذ تُسهم فيها مجتمعات عالمية من المطوّرين يضيفون الميزات دون انقطاع ويحسّنون الوظائف وتجربة الاستخدام. فيما يلي بعض من أبرز فوائدها:

  • مشاركة الموارد: على عكس الأجهزة الافتراضية (VMs) التي تحتاج إلى نسخة منفصلة أخرى من نظام تشغيل لتعمل، تشترك حاويات Linux في نواة النظام المضيف، ما يجعلها أكثر كفاءةً وقابليةً للنقل عبر العديد من بيئات الحوسبة.
  • التكامل مع Linux: بفضل تكاملها مع نواة Linux، تبقى حاويات لينكس قريبة من نظام التشغيل نفسه، ما يتيح استخدامًا أكثر كفاءةً للموارد مقارنةً بتقنيات افتراضية أخرى مثل الأجهزة الافتراضية ومراقبي الأجهزة الافتراضية (Hypervisors).
  • أمان مُعزّز: توفّر حاويات Linux ميزات أمان معزّزة عبر العزل والتحكّم في الموارد. كما توجد وحدات أمان مخصّصة للمهام لبعض عمليات Linux، تُطرَح وتُحدَّث ضمن توزيعات Linux. ومثال ذلك AppArmor، وهو وحدة أمان في نواة Linux يقيّد كيفية تشغيل العمليات داخل الحاويات.
  • تقليل النفقات العامة: تعظّم حاويات Linux استخدام الموارد وقابليّة التوسّع عبر تمكين تشغيل عدّة حاويات في الوقت نفسه على نظامٍ مضيفٍ واحد ونظام تشغيل واحد. يقلِّل هذا الجانب من حاويات Linux بدرجة كبيرة التكلفة العامة لتشغيل أنظمة تشغيل متزامنة، وهو ما تتطلّبه كثيرٌ من تقنيات المحاكاة الافتراضية الأخرى.
  • تحسين التنسيق: تحسين التنسيق: يَتولّى تنسيق الحاويات—غالبًا عبر Kubernetes—أتمتة عمليات إدارة حاويات لينكس مثل النشر والتوسُّع. وتوفّر حاويات Linux تحكّمًا دقيقًا في إدارة الحاويات، ما يُيسّر على المطوّرين تنسيق نشر تطبيقات كبيرة محوّلة إلى حاويات وإدارتها على نطاق واسع.

حالات استخدام حاويات Linux

نظرًا لميزاتها وفوائدها العديدة ونجاح نموذج توزيعات Linux مفتوحة المصدر، تُنشر حاويات Linux في العديد من الصناعات ولها العديد من حالات الاستخدام. فيما يلي بعض من أبرز هذه الحالات.

بنية الخدمات المصغرة

بنية الخدمات المصغرة هي نهجٌ بنائيّ سحابيّ أصليّ لتطوير البرمجيات تُطوَّر فيها التطبيقات من مكونات أصغر مستقلة.اليوم ، يتم استخدام نهج الخدمات المصغرة على نطاق واسع في العديد من بيئات تطوير البرامج بسبب سرعته وقابليته للتوسع ومرونته.

وتُعدّ حاويات Linux مثاليةً لبنى الخدمات المصغّرة، إذ تُسهِّل على المطوّرين نشر كل خدمة مصغّرة على حدة وربطها مع غيرها لإنشاء تطبيقات كبيرة معقّدة.

عمليات التطوير وعمليات CI/CD

عمليات التطوير والتكامل المستمر/التسليم المستمر (CI/CD) هي مجموعة ممارسات يستخدمها مطوّرو البرمجيات لأتمتة تطوير البرمجيات وتسليمها.

تعمل حاويات Linux على تحسين عمليات التطوير وعمليات CI/CD بعدة طرق مهمة. أولًا، تُساعد على ضمان اتساق بيئات الإنتاج عبر سلسلة عمليات CI/CD، ما يضمن أن يعمل التطبيق كما هو متوقّع عند إصداره.

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

البيئات السحابية الهجينة والمتعددة

تحتاج معظم المؤسسات إلى نشر تطبيقاتها المحورية عبر مزيج من السحابات الخاصة والعامة، وهو ما يُعرف باسم البنية السحابية الهجينة.

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

تحديث التطبيقات

في إطار مبادرات التحوّل الرقمي المستمرة، تسعى العديد من المؤسسات إلى تطوير تطبيقاتها وتحسين أدائها، من خلال البحث الدائم عن تقنيات وأدوات جديدة تمنحها ميزة تنافسية.

وبحسب معهد IBM Institute for Business Value، فقد جعل 83% من المديرين التنفيذيين من تحديث التطبيقات محورًا رئيسيًا في استراتيجيات أعمالهم. وتُسرّع حاويات Linux هذا التوجّه من خلال أخذ التطبيقات المبنية على تعليمات برمجية وبنية أساسية قديمة، وعزل الاعتماديات والمتطلبات الخاصة بها، مما يُسهّل نشرها بفاعلية في البيئات الحديثة.

حلول ذات صلة
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud هي منصة حاويات OpenShift (OCP) المُدارة بالكامل.

استكشف Red Hat OpenShift
حلول الحاويات

تنفذ حلول الحاويات أعباء عمل الحاويات وتوسع نطاقها مع ميزات الأمان والابتكار مفتوحة المصدر والنشر السريع.

استكشف الحاويات
خدمات الاستشارات السحابية 

أطلق العنان للقدرات الجديدة وحفِّز مرونة الأعمال من خلال خدمات الاستشارات السحابية من IBM. اكتشف كيفية المشاركة في إنشاء الحلول وتسريع التحول الرقمي وتحسين الأداء من خلال إستراتيجيات السحابة الهجينة والشراكات مع الخبراء.

الخدمات السحابية
اتخِذ الخطوة التالية

تحديث البنية التحتية لديك باستخدام حلول الحاويات من IBM. يمكنك تشغيل أحمال عمل الحاويات وتوسيع نطاقها وإدارتها عبر البيئات بمرونة وأمان وكفاءة باستخدام منصة الحاويات الشاملة من IBM.

استكشف حلول الحاويات إنشاء حسابك المجاني على IBM Cloud
الحواشي

1. App market size and trends (2024), Grandview Research, 2024