تمرين - توزيع صورة Docker على Azure Container Instance

مكتمل

تتيح لك خدمة Azure Container Instance تشغيل صورة Docker في Azure.

لقد تمكنت في السابق من تحزيم واختبار تطبيق الويب الخاص بك كصورة Docker محلية. الآن، تريد استخدام الإخراج هذا التمرين، وجعل تطبيق الويب متاحا عالميا. لإنجاز هذا التوفر، يمكنك تشغيل الصورة كمثيل حاوية Azure.

في هذا التمرين، ستعيد إنشاء الصورة لتطبيق الويب وتحميلها إلى Azure Container Registry. ستستخدم خدمة Azure Container Instance لتشغيل الصورة.

هام

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

إنشاء سجل حاويات

  1. سجل الدخول إلى ⁧مدخل Azure⁧⁩ باستخدام اشتراك Azure.

  2. في قائمة الموارد أو من الصفحة الرئيسية، حدد أنشئ مصدر. يظهر إنشاء جزء مصدر.

  3. حدد حاويات، ثم حدد تسجيل الحاوية.

    Screenshot that shows Create a resource with Container Registry.

    يظهر جزء Create container registry.

  4. في علامة التبويب "Basics"، أدخل القِيم التالية لكل إعداد.

    الإعداد القيمة‬
    تفاصيل المشروع
    الوصف حدد اشتراك Azure الذي يُسمح لك فيه بإنشاء الموارد وإدارتها.
    مجموعة الموارد حدد إنشاء مجموعة موارد جديدة باسم learn-deploy-container-acr-rg. تذكر الاسم الذي تحدده؛ لإنك سوف تستخدمه في بقية التمارين في هذه الوحدة. تذكر أيضا، تنظيف هذا المورد عند الانتهاء من الوحدة النمطية.
    تفاصيل المثيل
    اسم السجل حدد اسماً من اختيارك. يجب أن يكون اسم السجل فريداً داخل Azure، وأن يحتوي على 5 إلى 50 حرفاً أبجدياً رقمياً.
    الموقع حدد موقعًا قريباً منك.
    وحدة حفظ المخزون SKU قياسي
  5. حدد "Review + create". عند ظهور إشعار Validation passed، حدد Create. انتظر حتى يتم توزيع سجل الحاويات قبل المتابعة.

  6. حدِّد الانتقال إلى المورد. يعرض جزء تسجيل الحاوية لوحة عرض الأساسيات حول تسجيل حاويتك.

  7. في قائمة المصادر، ضمن الإعدادات، حدد مفاتيح الاختصار. يظهر جزء مفاتيح الاختصار لسجل الحاوية الخاص بك.

  8. إذا تم تعطيل إعدادات المستخدم المسؤول، حدد شريط التمرير لتمكين مفتاح الاختصار المستخدم المسؤول. يظهر اسم المستخدم وكلمات المرور لسجل الحاوية.

  9. دوِّن اسم السجل وخادم تسجيل الدخول واسم المستخدم وكلمات المرور لتسجيل حاويتك.

    إشعار

    في هذا التمرين، نتمكن من الوصول إلى حساب المسؤول حتى نستطيع تحميل الصور واختبار التسجيل. في بيئة الإنتاج، من المهم تعطيل الوصول إلى حساب المستخدم مسؤول واستخدام Microsoft Entra ID Protection بمجرد اقتناعك بأن السجل يعمل كما هو متوقع.

    Screenshot of the Access keys details.

تحميل صورة تطبيق نظام حجوزات الفنادق إلى Azure Container Registry

  1. في موجه الأوامر المحلي، قم بتشغيل الأمر التالي، مع <registry-name> استبدال باسم سجل الحاوية الخاص بك لوضع علامة على الصورة الحالية reservationsystem باسم السجل الخاص بك:

    docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest
    
  2. docker image ls قم بتشغيل الأمر للتحقق من وضع علامة على الصورة بشكل صحيح:

    docker image ls
    

    ينبغي أن ترى شيئًا مشابهًا للإخراج التالي:

    REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
    reservationsystem                             latest              a56281e7038f        4 minutes ago       1.76GB
    <registry-name>.azurecr.io/reservationsystem  latest              a56281e7038f        4 minutes ago       1.76GB
    
  3. في موجه الأوامر تسجيل الدخول إلى Azure Container Registry. استخدم أمر docker login وحدد خادم تسجيل الدخول الخاص بالسجل الذي قمت بتدوينه سابقاً. أدخل اسم المستخدم وكلمة المرور من مفاتيح الاختصار الخاصة بك عند مطالبتك بذلك.

    docker login <login-server>
    

    إشعار

    قد تتلقى استجابة خطأ من برنامج خفي بأن تطبيقك غير مسجل بمعرف Microsoft Entra. كما هو موضح سابقا في هذا التمرين، قمت بتمكين مفتاح اختصار المستخدم المسؤول لاختبار النشر الخاص بنا.

  4. أدخل الأمر التالي، مع <registry-name> استبدال باسم السجل الخاص بك لتحميل الصورة إلى السجل الخاص بك في Azure Container Registry:

    docker push <registry-name>.azurecr.io/reservationsystem:latest
    

    انتظر حتى يكتمل التحميل. تستغرق هذه العملية عدة دقائق لدفع جميع عناصر الصورة إلى المستودع الخاص بك. تسطيع مراقبة التقدم بينما يتقدم كل عنصر من حالة Waiting إلى Preparing إلى Pushing إلى Pushed.

التحقق من محتويات السجل

بالنسبة لبقية التمرين، ستعود إلى مدخل Microsoft Azure.

  1. في مدخل Azure، ارجع إلى سجل الحاويات.

  2. في جزء القائمة الأيسر، ضمن الخدمات، حدد المستودعات. يظهر جزء Repositories لسجل الحاوية الخاص بك.

  3. تحقق من ظهور مستودع reservationsystem. حدد مستودع reservationsystem وتحقق من أن المستودع يحتوي على صورة بعلامة latest.

    Screenshot showing the repository and tagged reservation system container image in the registry.

تحميل وتشغيل صورة باستخدام Azure Container Instance

  1. في مدخل Azure، حدد Create a resource. يظهر إنشاء جزء مصدر.

  2. في قائمة الموارد، حدد الحاويات ، ثم حدد مثيلات الحاوية .

    Screenshot showing Container Instances.

    يظهر جزء Create container instance.

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

  3. في علامة التبويب "Basics"، أدخل القِيم التالية لكل إعداد.

    الإعداد القيمة‬
    تفاصيل المشروع
    الوصف حدد اشتراك Azure الافتراضي الذي يُسمح لك فيه بإنشاء الموارد وإدارتها
    مجموعة الموارد أعد استخدام مجموعة الموارد الموجودة learn-deploy-container-aci-rg
    تفاصيل الحاوية
    اسم الحاوية hotelsysteminstance
    منطقة استخدام الموقع الافتراضي
    مصدر الصورة مركز Docker أو السجل الآخر
    نوع الصورة خاص
    Image <registry-name>.azurecr.io/reservationsystem:latest
    خادم تسجيل الدخول لسجل الصور أدخل اسم خادم تسجيل الدخول الخاص بالسجل
    اسم المستخدم لسجل الصور أدخل اسم المستخدم للسجل
    كلمة المرور لسجل الصور أدخل كلمة المرور للسجل
    نوع نظام التشغيل Linux
    الحجم اترك قيمة Size الافتراضية معينة على 1 vcpu، وذاكرة 1.5 GiB، و0 gpus
  4. حدد Next: Networking.

  5. في علامة التبويب ⁧⁩Networking⁧⁩، أدخل القِيم التالية لكل إعداد.

    الإعداد القيمة‬
    نوع الشبكات سنة
    تسمية اسم DNS اختر اسما فريدًا، والذي سيتم استخدامه كجزء من رابط URL للحاوية.
    منافذ
    منافذ 80
    بروتوكول المنافذ TCP
  6. حدد Next: Advanced.

  7. في علامة التبويب Advanced، أدخل القيم التالية لكل إعداد.

    الإعداد القيمة‬
    نهج إعادة تشغيل دائمًا
    متغيرات البيئة ترك كافة الإعدادات فارغة
    تجاوز الأمر اتركه فارغاً
  8. حدد "Review + create". انتظر حتى يكتمل التحقق من الصحة، وقم بتصحيح أي أخطاء، إذا لزم الأمر.

  9. حدد إنشاء.

  10. عند إنشاء مثيل الحاوية، حدد Go to resource. يظهر جزء مثيل الحاوية الخاصة بك.

  11. في جزء العرض، ابحث عن اسم المجال المؤهل بالكامل لمثيل الحاوية.

    Screenshot that shows the New pane in Azure portal showing the Container properties with the FQDN highlighted.

  12. باستخدام متصفح ويب، انتقل إلى رابطURL http://FQDN/api/reservations/1، استبدلFQDNباسم مجال مؤهل بالكامل لمثيل حاويتك. على سبيل المثال، استخدام FQDN مرئية في لقطة الشاشة أعلاه سيبدو مثل:

    http://hotel.southcentralus.azurecontainer.io/api/reservations/1
    

    يجب أن يستجيب تطبيق الويب مع عنصر JSON يحتوي على تفاصيل الحجز 1.

تهانينا! لقد تمكنت من تحميل صورة Docker إلى Azure Container Registry، وتشغيل الصورة باستخدام خدمة Azure Container Instance.