تكنولوجيا

ما هي قائمة صور Docker؟ – تقنية المعلومات الذكية

يصف بيان Docker الطبقات في الصورة. يمكن لقائمة التحقق مقارنة صورتين بدقة ، حتى لو تم تخصيص تسميات مختلفة لهما.

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

تنسيق القائمة

مخطط المخزون هو الإصدار 2 حاليًا. سيعلن الملف الكامل عن إصداره الهندسي ، متبوعًا بقائمة بإدخالات البيان التي يمكن استخدامها للصورة. يمثل كل إدخال متغيرًا مختلفًا للصورة ، مثل x86 و ARM64.

يمكنك استخدامها docker manifest inspect أمر. ينطبق هذا على كل من الصور المحلية والصور المخزنة في السجلات البعيدة (مثل Docker Hub).

docker manifest examine my-graphic:latest

القائمة هي قائمة الطبقات الموجودة في الصورة. يمكنك رؤية قيمة التجزئة لمحتوى الطبقة وحجمها الكلي.

اذا اضفت --verbose الشعار ، سوف تحصل على مزيد من المعلومات حول الصورة.يتضمن هذا تسمية الصورة (بتنسيق Ref Area) وهندستها ونظام تشغيلها.

بشكل افتراضي ، لن يقوم Docker بتحميل تفاصيل المخزون من سجل غير آمن.إذا كنت بحاجة إلى استخدام سجل محمي بشكل غير صحيح ، فيرجى إضافة --insecure لافتة لك docker manifest أمر.

قائمة مرجعية وبناء متعدد المعمار

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

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

docker manifest examine php:most current

سيؤدي تشغيل الأمر أعلاه إلى عرض قائمة بصور PHP Docker الرسمية. يمكنك أن ترى من لقطة الشاشة أن هناك العديد من خيارات النظام الأساسي المتاحة ، بما في ذلك AMD64 و ARM. لقد قمنا باقتطاع القائمة الكاملة ، والتي تحتوي بالفعل على ثمانية بنى مختلفة مدعومة.

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

تشير كل بنية في القائمة إلى آخر من خلال مظاهرها digest موقع. ستكون القائمة المُشار إليها عبارة عن مستند ذي بنية مفردة عادية. يطابق Docker النظام الأساسي الحالي مع قائمة البنية الفردية الصحيحة ، ثم يقوم بتحميل الملف لتحديد قائمة طبقة الصورة النهائية.

يمكنك استخدامها docker manifest أمر. قم ببناء كل صورة فردية وادفعها إلى التسجيل.ثم استخدام docker manifest create أمر لدمج الصور في قائمة مشتركة جديدة تحت علامة تبويب واحدة.

# on an AMD64 machine
docker construct -t my-image:amd64 .
docker thrust my-graphic:amd64

# on an ARM equipment
docker construct -t my-impression:arm .
docker push my-picture:arm

# now combine the manifests
docker manifest build my-graphic:most up-to-date 
--amend my-graphic:x64
--amend my-image:arm
docker manifest thrust my-impression:most current

استعمال manifest develop ضد --amend تسمح لك العلامة بدمج قوائم مستقلة متعددة معًا. ثم ادفع البيان النهائي إلى Docker Hub newest ضع الكلمة المناسبة. يمكن لمستخدمي AMD64 و ARM إنشاء حاويات من هذه الصورة.

التجميع اليدوي للصور متعددة المعمار ليس إلزامياً.يمكنك استخدامها buildx الأمر لتبسيط العملية بشكل كبير.

docker buildx establish --system linux/amd64,linux/arm64/v8 --tag my-impression:hottest

سينشئ هذا الأمر الفردي صورة يمكن تشغيلها على منصات AMD64 و ARM64. وراء الكواليس ، لا يزال يُنشئ قائمة تحقق متعددة المعمار ، لذا فهو يساعد على فهم الأعمال الداخلية لكيفية ربط الصور ببعضها البعض.

قائمة التعليقات التوضيحية

يتيح لك Docker الكتابة فوق بيانات المخزون يدويًا عبر التعليقات التوضيحية. تتضمن الحقول المدعومة معلومات العمارة ونظام التشغيل.

استعمال docker manifest annotate أمر لتعيين التعليق. إذا كنت تريد إضافة تعليق توضيحي على صورة معمارية واحدة ، فيرجى تقديم علامة صورة تشير إليها. بالنسبة للصورة متعددة المعمار ، ستحتاج إلى تسمية الصورة الشاملة في قائمة البيان متعددة البنى والتسمية لبيان واحد.

docker manifest annotate my-image:newest my-graphic:amd64 --os-variation linux

يمثل هذا الأمر إصدار AMD64 my-picture:newest تعمل الصورة كحاوية تستند إلى Linux.

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

التعميم

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

يجب أن يكون التفاعل اليدوي مع قائمة المراجعة نادرًا ، ولكن يمكن القيام به من خلال docker manifest مجموعة القيادة. أصبح من الشائع الآن أتمتة الإنشاءات متعددة الهياكل من خلال Buildx ، والتي توفر تجربة تجميع مخزون مبسطة.

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى