التمرين - تشغيل Azure Container Instances

مكتمل

هنا، يمكنك إنشاء حاوية في Azure وتعريضها إلى الإنترنت مع اسم مجال مؤهل بالكامل.

هام

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

لماذا تستخدم Azure Container Instances؟

Azure Container Instances مفيدة للسيناريوهات التي يمكن أن تعمل في حاويات معزولة، بما في ذلك التطبيقات البسيطة، وأتمتة المهام، وإنشاء المهام. وفيما يلي بعض المزايا:

  • ⁧⁧⁩⁩بدء التشغيل السريع⁧⁧⁩⁩: بدء تشغيل الحاويات في ثوان.
  • ⁧⁧⁩⁩فوترة لكل ثانية:⁧⁧⁩⁩تكبد التكاليف فقط في أثناء تشغيل الحاوية.
  • ⁩مستوى أمني Hypervisor⁧⁩: عزل التطبيق تمامًا كما لو كان في جهاز ظاهري.
  • ⁧⁧⁩⁩الأحجام المخصصة⁧⁧⁩⁩: تحديد القيم الدقيقة لوحدات المعالجة المركزية والذاكرة.
  • ⁧⁧⁩⁩التخزين المستمر⁧⁧⁩⁩: مشاركة ملفات تحميل Azure مباشرة إلى حاوية لاسترداد الحالة والاحتفاظ بها.
  • Linux وWindows: جدولة حاويات كل من Linux وWindows باستخدام نفس واجهة برمجة التطبيقات.

بالنسبة إلى السيناريوهات التي تحتاج فيها إلى تزامن كامل للحاوية، بما في ذلك اكتشاف الخدمة عبر حاويات متعددة، والتحجيم التلقائي، وترقيات التطبيقات المنسقة، نوصي بخدمة Azure Kubernetes Service.

إنشاء حاوية

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

  2. افتح Azure Cloud Shell من مدخل Azure عن طريق تحديد أيقونة Cloud Shell. تأكد من تحديد Bash في شكل بيئة تفاعلية لـCloud Shell.

  3. قم بإنشاء مجموعة موارد جديدة باسم learn-deploy-aci-rg بحيث سيكون أسهل لتنظيف هذه الموارد عند الانتهاء من الوحدة. إذا اخترت اسم مجموعة موارد مختلفة، فتذكره لبقية التدريبات في هذه الوحدة النمطية. تحتاج أيضًا إلى اختيار منطقة تريد إنشاء مجموعة الموارد فيها، على سبيل المثال ⁧⁧⁩⁩ East US⁧⁧⁩⁩.

    az group create --name learn-deploy-aci-rg --location eastus
    

    يمكنك إنشاء حاوية بتوفير اسم وصورة Docker ومجموعة موارد Azure⁧⁧ إلى الأمر az container create. يمكنك تعريض الحاوية إلى الإنترنت بشكل اختياري عن طريق تحديد تسمية اسم DNS. في هذا المثال، يمكنك تشغيل حاوية تستضيف تطبيق ويب صغير. يمكنك أيضًا تحديد الموقع لوضع الصورة - ستستخدم منطقة ⁧⁧⁩⁩ East US،⁧⁧⁩⁩ ولكن يمكنك تغييرها إلى موقع قريب منك.

  4. وتقوم بتوفير اسم DNS لعرض الحاوية الخاصة بك إلى الإنترنت. يجب أن يكون اسم DNS الخاص بك فريدًا. ولأغراض التعلم، قم بتشغيل هذا الأمر من Cloud Shell لإنشاء متغير Bash الذي يحمل اسمًا فريدًا.

    DNS_NAME_LABEL=aci-demo-$RANDOM
    
  5. شغل الأمر التالي ⁧⁧az container create⁩⁩ لبدء تشغيل مثيل حاوية.

    az container create \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer \
      --image mcr.microsoft.com/azuredocs/aci-helloworld \
      --ports 80 \
      --dns-name-label $DNS_NAME_LABEL \
      --location eastus
    

    ⁧⁧$DNS_NAME_LABEL⁩⁩ يحدد اسم DNS الخاص بك. تُشير الصورة التي تُسمى azuredocs/aci-helloworld إلى صورة حاوية مُستضافة في Microsoft Container Registry والتي تُشغّل تطبيق ويب Node.js أساسياً.

  6. عند اكتمال الأمر ⁦⁧az container create⁩⁩، شغل ⁦⁧az container show⁩⁩ للتحقق من حالته.

    az container show \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer \
      --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" \
      --output table
    

    سترى اسم المجال المؤهل بالكامل للحاوية وحالة توفيره. وفيما يلي مثال على ذلك.

    FQDN                                    ProvisioningState
    --------------------------------------  -------------------
    aci-demo-0000.eastus.azurecontainer.io  Succeeded
    

    إذا كانت الحاوية في حالة ⁧⁧⁩⁩Creating⁧⁧⁩⁩ فانتظر بضع لحظات ثم شغل الأمر مرة أخرى حتى ترى حالة ⁧⁧⁩⁩Succeeded⁧⁧⁩⁩.

  7. من المتصفح، انتقل إلى اسم المجال المؤهل بالكامل للحاوية لرؤيتها قيد التشغيل. تأكد من إدخال البادئة، http:// أمام سلسلة aci-demo.... يجب أن ترى صفحة الترحيب هذه.

    Screenshot of the sample Node.js container app running in a browser.

الملخص

هنا، قمت بإنشاء مثيل حاوية Azure لتشغيل خادم وتطبيق ويب. وقد دخلت أيضًا إلى هذا التطبيق باستخدام اسم مجال مؤهل بالكامل الخاص بمثيل الحاوية.