ما هي صورة الحاويات؟

9 أغسطس 2024

المؤلفون

Phill Powell

Staff Writer

Ian Smalley

Senior Editorial Strategist

ما هي صورة الحاويات؟

صور الحاويات هي ملفات ثابتة غير متغيرة تحتوي على تعليمات برمجية قابلة للتنفيذ وتعمل بمعزل عن البنية التحتية لتكنولوجيا المعلومات.

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

يتم تخزين صور الحاويات داخل سجل صور الحاويات (أو سجل الحاويات) الذي يعمل كنوع من نظام الملفات. سجل الحاويات هو مستودع بيانات (أو مجموعات من المستودعات) يُخزِّن صور الحاويات بعرض التخزين والوصول إليها.

وتُعد قدرة سجل الحاويات على التكامل السلس مع أنظمة/منصات تنظيم الحاويات، مثل Kubernetes وDocker، من أبرز مزاياه. كما يمكن استخدام سجلات الحاويات ضمن منهجيات عمليات التطوير أثناء تطوير التطبيقات المعتمدة على الحاويات، مما يتيح تكاملًا سلسًا في مهام سير العمل.

منظر جوي للطرق السريعة

كن مطلعًا على آخر أخبار السحابة


احصل على نشرة Think الإخبارية الأسبوعية للحصول على إرشادات الخبراء حول تحسين الإعدادات متعددة السحابة في عصر الذكاء الاصطناعي.

كيف يتم إنشاء صور الحاوية؟

يتم إنشاء صورة الحاوية من مجموعة مكدّسة من الطبقات، تشمل:

  • الصورة الأساسية (Base image)
  • المكتبات
  • الملفات التنفيذية (Binaries)
  • الاعتماديات (Dependencies)
  • ملفات التكوين

في الصور الجديدة التي تُبنى من الصفر، تبدأ العملية دائمًا من الطبقة السفلية، وهي الصورة الأساسية. تُعد الصورة الأساسية نقطة الانطلاق لمعظم مهام سير العمل الخاصة بتطوير الحاويات. وتتكوّن العديد من الصور الأساسية من توزيعات Linux الأساسية أو المصغّرة، مثل: Debian، وUbuntu، وRed Hat Enterprise Linux (RHEL)، وRocky Linux، وAlpine. تُخزَّن ملفات نظام الملفات الخاص بالحاوية داخل الصور الأساسية. وتُتيح عملية إنشاء الصور الأساسية، المعروفة باسم "البناء"، للمطوّرين إنشاء بيئة موحَّدة تُستخدم كأساس لدعم صور الحاويات المُخصصة.

بعد ذلك، تُضاف مجموعة من طبقات نظام الملفات فوق الصورة الأساسية، وتشمل:

  • المكتبات الضرورية: وهي مجموعات قياسية من الخوارزميات وقوالب الأصناف (class templates) تُستخدم لبناء هياكل بيانات شائعة مثل القوائم (lists) والمكدسات (stacks) والطوابير (queues).
  • الملفات التنفيذية الضرورية، وهي ملفات قابلة للتنفيذ مطلوبة لتنفيذ البرامج والأوامر المختلفة. تم تصميم المجلدات الثنائية بحيث يمكن للمستخدمين الوصول السريع إلى الملفات التنفيذية المطلوبة.
  • الاعتماديات المختلفة، والتي تحكم إنشاء والعمليات الحاوية.
  • ملفات التكوين (configs) اللازمة لتشغيل الحاوية المعنية.

إذا كانت صورة الحاوية تعتمد على صورة موجودة مسبقًا، فإن الصورة الأساسية تُعرف باسم الصورة الأصل (Parent Image). أما إذا كانت الصورة أصلية بالكامل، فيُقال إنها لا تمتلك صورة أصل.

أكاديمية الذكاء الاصطناعي

تحقيق جاهزية الذكاء الاصطناعي باستخدام التنقية السحابية الهجينة

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

كيف تعمل صور الحاويات؟

تُخزَّن صور الحاويات في سجلات الحاويات، حيث يمكن رفعها (push) إلى السجل أو تنزيلها (pull) إلى نظام آخر.

تخزين الكائنات

تستخدم سجلات الحاويات التخزين القائم على الكائنات object storage لتخزين البيانات الوصفية المتعلقة بصور الحاويات. يوفر هذا النظام وسيلة فعّالة لنقل البيانات الوصفية (metadata)، ولكنه يبقى محدودًا. فعلى سبيل المثال، عندما تتعلق البيانات بعدة صور، توجد حدود لعدد العلامات (tags) التي يمكن عرضها.

حاويات الاعتماديات

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

المصادقة

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

بيئة تشغيل الحاويات

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

Docker وKubernetes

هناك مزوّدان رئيسيان يهيمنان على سوق تنظيم الحاويات ويقودان استخدام صور الحاويات:

Docker

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

يحتوي Docker على مصدر للصور يُعرف باسم DockerHub، والذي يُوفّر وصولًا مجانيًا لأكثر من 100,000 صورة وملفات Docker أخرى يشاركها المستخدمون، وبائعو البرمجيات، والمشاريع مفتوحة المصدر. يتوفر أيضًا إصدار مدفوع من خدمة سجل حاويات Docker للاستخدام الخاص. تعتمد صور Docker على واجهة سطر أوامر Docker (Docker CLI)، والتي تتيح تنفيذ العمليات الأساسية مثل تسجيل الدخول (login) ورفع الصور (push) وتحميلها (pull). يُنشئ المستخدمون صور Docker باستخدام ميزة Docker Build في Docker Engine، والتي تتيح تجميع التعليمات البرمجية المصدرية. يمكن تكوين Docker باستخدام ملفات إعداد بصيغة JSON (JavaScript Object Notation)، وهي الصيغة المفضّلة لأنها تجمع جميع الإعدادات في مكان واحد.

Kubernetes

Kubernetes هو منصة مفتوحة المصدر لتنظيم الحاويات. يستخدم Kubernetes لأتمتة العديد من عمليات البرامج، مثل الإدارة والنشر والتوسع. ضمن خدمة Kubernetes، يتم ربط جهاز كمبيوتر أو أكثر — سواء كانت أجهزة افتراضية أو خوادم بدون نظام تشغيل — ضمن عنقود Kubernetes يمكن تشغيل أحمال الحاويات عليه بمختلف الأحجام والأنواع. يتولى خادم واجهة برمجة التطبيقات (API) في Kubernetes تهيئة البيانات الخاصة بكائنات واجهة برمجة التطبيقات، مثل الحجيرات، والخدمات، ووحدات التحكم في التكرار، وغيرها. تُتيح واجهات برمجة التطبيقات (APIs) للتطبيقات البرمجية المختلفة أن تتواصل وتتبادل البيانات فيما بينها بانسجامٍ كامل.

ورغم أن Docker وKubernetes يقدّمان خدمات متشابهة، فإن نطاق عمل كلٍّ منهما يختلف. حيث إن Docker هو بيئة تشغيل للحاويات (container runtime)، بينما يُعدّ Kubernetes منصةً متكاملة تستوعب الحاويات من بيئات تشغيل متعددة. ويُعد Docker مجرد إحدى بيئات التشغيل التي يدعمها Kubernetes.

فوائد صور الحاويات

تُعد صور الحاويات عنصرًا أساسيًا في استخدام سجلات الحاويات.

النشر السريع

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

الجاهزية المستمرة

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

الاستخدام الآمن

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

حالات استخدام صور الحاويات

تشمل أبرز الأنشطة التي تعتمد بشكل كبير على صور الحاويات ما يلي:

التطبيقات السحابية الأصلية

تمكّن عمليات النشر القائمة على الحاويات — المدعومة باستخدام صور الحاويات — من تحقيق العزل والمرونة اللازمَين للبنى السحابية الأصلية تتيح الحاويات وصور الحاويات للمستخدمين إنشاء تطبيقات سحابية أصلية قابلة للتوسع وتحسينها.

الخدمات المصغرة

تُسهّل العديد من سجلات الحاويات، وما تتضمنه من صور، على المستخدمين العثور على الخدمات المصغّرة المطلوبة والاتصال بها داخل مجموعة الحاويات.

الأجهزة الظاهرية

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

مزوّدو صور الحاويات الرائدون

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

  • Amazon: تُدير Amazon Web Services (AWS) خدمة Amazon Elastic Container Registry (ECR)، والتي تدمج استخدام Amazon Inspector لإدارة فحص الثغرات في الصور. كما تدعم ECR نسخ الصور بين الحسابات والمناطق، ما يُسهّل الوصول إليها.
  • Apache: Apache هو برنامج خادم ويب مفتوح المصدر ومجاني، تقدّمه مؤسسة Apache Software Foundation، التي تُقدّر أن برمجيات Apache تُستخدم على نحو 30% من خوادم الويب عالميًا.
  • GitHub: حازت منصة GitHub (المملوكة الآن لشركة مايكروسوفت) على دعم واسع من المطورين، الذين يقدرون الطريقة التي يتيح بها هذا البرنامج المملوك لهم مشاركة التعليمات البرمجية وإدارة التعليمات البرمجية وجهود التعاون.
  • IBM: يتيح IBM Cloud Container Registry للمستخدمين بدء تشغيل سجل خاص بهم بسهولة ورفع الصور الخاصة لاستخدامها مع خدمة IBM Cloud Kubernetes. ويستفيد المستخدمون من خصوصية امتلاك سجل مُدار بالكامل. تُوفّر الخدمة تجربة مجانية أولية، مع نموذج تسعير قائم على "الدفع حسب الاستخدام"، بحيث يدفع المستخدمون فقط مقابل ما يستهلكونه.
  • Microsoft: تستخدم منصة Azure من Microsoft خدمة Azure Container Registry (ACR)، والتي تحتوي على صور Docker وصور مبادرة الحاويات المفتوحة (OCI)، وتدعم عناصر OCI. وتوفر خاصية "السجل المتصل" من ACR (ضمن فئة الخدمة المميزة) إمكانية إنشاء نسخة محلية أو عن بُعد من السجل تتم مزامنتها مع ACR القائم على السحابة. تدعم سجلات ACR الصور الخاصة بكل من أنظمة Windows وLinux.تُعد الكتابة وإدخال أوامر نصية، المعروفة باسم أوامر سطر الأوامر، إحدى طرق التفاعل مع البرامج. تتضمن أنظمة التشغيل التي تستخدم طريقة التفاعل هذه واجهة سطر الأوامر (CLI). ورغم أن غالبية المستخدمين يعتمدون الآن على واجهات المستخدم الرسومية (GUIs)، فإن واجهات أسطر الأوامر (CLI) لا تزال مفضلة لدى من يكتبون البرامج النصية لأغراض الأتمتة. يمنح Azure المستخدمين المرونة لاستخدام Docker CLI لتشغيل عمليات صورة الحاوية الرئيسية.
  • Python: Python هي لغة برمجة عالية المستوى، مفسّرة وموجهة للكائنات، مقدّمة من Python Software Foundation. تجعل هياكل البيانات المدمجة في Python منها مناسبة لأحمال التشغيل التي تتطلب تطوير تطبيقات بسرعة. وتتمثل إحدى مزايا Python الرئيسية لمطوري البرمجيات في سهولة استخدامها، بفضل عدم وجود خطوة تجميع. وهذا يمكّن المبرمجين من تسريع دورة تصحيح الأخطاء، مما يوفر الوقت.
  • Red Hat: تدعم شركة Red Hat البرمجة المبنية على Linux منذ تأسيس الشركة في عام 1993. يسمح سجل الحاويات الذي توفره Red Hat، OpenShift Container Platform (OCP)، للمستخدمين بالوصول تلقائياً إلى مستودعات الصور عند الطلب، كما يمنح المستخدمين موقعاً موحدًا لرفع الصور الناتجة عن عمليات إنشاء التطبيقات.
حلول ذات صلة
IBM Red Hat OpenShift

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

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

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

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

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

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

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

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