فهم صور التطبيق

مكتمل

الصورة الحاوية هي جزء أساسي من أي تطبيق موزع يستخدم خدمة Azure Kubernetes (AKS). يمكنك استخدام العلامات من أجل:

  • إنشاء صور حاوية مختلفة تحتاج إليها.
  • تخزين صورك في سجل حاوية.
  • نشر صورة معينة ذات علامة.

في هذه الوحدة، يمكنك استكشاف كيفية استخدام البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD لصور التطبيق ذات العلامات.

صور الحاوية

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

تحتوي صورة Docker على التعليمات البرمجية للتطبيق وأي تبعيات مطلوبة لإنشاء صورة قابلة للتنفيذ بالكامل للتطبيق. يتم تكوين صورة الحاوية بواسطة Dockerfile يحتوي على مجموعة من الإرشادات لوقت تشغيل الحاوية.

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

يمكنك إنشاء صورة من Dockerfile باستخدام docker build الأمر .

هام

docker build لا يعمل الأمر داخل بيئة Cloud Shell، لأن استخدام Docker داخل حاوية قيد التشغيل غير مسموح به. إذا كنت ترغب في docker build . اختبار الأمر، فقم باستنساخ المستودع محليا وتشغيل الأمر باستخدام تثبيت Docker الخاص بك.

علامات الصور

العلامات هي جانب مهم من العمل مع صور الحاويات. يمكن أن تخبرك العلامات بنوع الصورة والتمييز بين صور متعددة لها نفس الاسم.

على سبيل المثال، إذا كنت تريد أن تبدأ الصورة Node.js في مستودع من Node 12، يمكنك تضمين العلامة FROM node:12 في Dockerfile. إذا كنت تريد أن تبدأ من أحدث إصدار مستقر، يمكنك استخدام العلامة FROM node:current. تشير العلامات إلى نوع الصورة وما هو متوقع منها القيام به.

يستخدم إنشاء صورة حاوية نفس تقنية إنشاء مستودع GitHub، وعادة ما يكون مسار حاوية Docker شيئا مثل repository/image-name. ولكن يمكنك إنشاء إصدارات متعددة من نفس الصورة التي تستخدم العلامات لتمييزها.

في هذه الوحدة النمطية، يمكنك استخدام العلامات لتسمية إصدارات الإصدار. يمكنك إنشاء علامة لكل إصدار إنتاج باستخدام v*.*.* قواعد تعيين الإصدار الدلالي، مثل v1.0.0 الإصدار 1.0.0. كل دفعة ذات علامة إلى الفرع الرئيسي تنشئ علامة صورة جديدة بنفس اسم العلامة على هذا الدفع. تنشئ الدفعات غير المعلمة العلامة latest فقط.

تقوم جميع الدفعات، الموسومة وغير المعلمة، بتحديث latest الصورة بأحدث التعليمات البرمجية ونشرها في التقسيم المرحلي. يتم أيضا نشر الصور التي تم وضع علامة عليها v* في الإنتاج. يتم نشر الصور الرسمية ذات العلامات فقط في الإنتاج، بينما يكون لكل latest من بيئات التشغيل المرحلي والإنتاج دائما الصورة المرحلية.

سجلات الحاويات

أحد الجوانب المهمة للعمل مع الصورة هو المكان الذي يتم تخزينها فيه. سجل الحاوية هو مكان لتخزين ملفات الصور المعبأة في حاويات. على سبيل المثال، GitHub هو سجل حاوية يخزن أيضا تغييرات التعليمات البرمجية والإصدارات. يمكنك دفع صور تطبيق جديدة إلى سجلات الحاويات باستخدام docker push الأمر .

في هذه الوحدة النمطية، يمكنك تخزين ملفات صور التطبيق في مثيل Azure Container Registry الذي أنشأته في الوحدة السابقة. بعد إنشاء رمز الوصول الشخصي (PAT) وإصدار شهادة متحدة للمصادقة مع GitHub وAzure، يقوم المسار بشكل أساسي بأتمتة docker build كل من الأمرين و docker push .

الآن بعد أن فهمت البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD وصور الحاوية ذات العلامات، انتقل إلى الوحدة التالية لبدء إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية GitHub Actions CI/CD.

‏‫اختبر معلوماتك

1.

ما هي صورة Docker؟

2.

كيف يمكن لمسار CI/CD استخدام علامات الصور؟