ما هي قائمة صور 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 ، والتي توفر تجربة تجميع مخزون مبسطة.