بداية سريعة: نشر مثيل حاوية في Azure باستخدام Azure PowerShell

استخدام Azure Container Instances لتشغيل حاويات Docker بدون خادم في Azure ببساطة وبسرعة. انشر تطبيقاً على مثيل حاوية عند الطلب عندما لا تحتاج إلى نظام أساسي لتنظيم حاوية كاملة، مثل Azure Kubernetes Service.

في هذا التشغيل السريع، يمكنك استخدام Azure PowerShell لنشر حاوية Windows معزولة وإتاحة تطبيقها مع اسم مجال مؤهل بالكامل (FQDN) والمنفذ. بعد بضع ثوانٍ من تنفيذ أمر النشر الفردي، يمكنك التصفح وصولاً إلى التطبيق الذي يُشغل في الحاوية:

! [تم نشر التطبيق في مثيلات حاوية Azure التي يتم عرضها في المستعرض] [./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

Azure Cloud Shell

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

لبدء Azure Cloud Shell:

خيار مثال/ رابط
انقر فوق ⁧⁩جربه⁧⁩ في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد ⁧⁩جربه⁧⁩ لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell. لقطة شاشة تعرض مثالاً على Try It for Azure Cloud Shell.
انتقل إلى ⁧⁩⁧ https://shell.azure.com⁩⁧⁩، أو حدد زر ⁩تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. زر لتشغيل Azure Cloud Shell.
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure. لقطة شاشة تعرض زر Cloud Shell في مدخل Microsoft Azure

لاستخدام Azure Cloud Shell:

  1. ابدأ تشغيل Cloud Shell.

  2. حدد الزر نسخ على كتلة التعليمات البرمجية (أو كتلة الأوامر) لنسخ التعليمات البرمجية أو الأمر.

  3. ألصق التعليمة البرمجية أو الأمر في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.

  4. حدد Enter لتشغيل التعليمات البرمجية أو الأمر.

إذا اخترت تثبيت PowerShell واستخدامه محلياً، فسيتطلب هذا البحث وحدةAzure PowerShell. قم بتشغيل Get-Module -ListAvailable Az للعثور على الإصدار. إذا كنت بحاجة إلى الترقية، فراجع تثبيت الوحدة النمطية Azure PowerShell. إذا قمت بتشغيل PowerShell محليا، فستحتاج أيضا إلى التشغيل Connect-AzAccount لإنشاء اتصال مع Azure.

إنشاء مجموعة موارد

يجب توزيع container instances مثل الموارد الخاصة بـ Azure على مجموعة الموارد. تسمح لك مجموعات الموارد بتنظيم وإدارة موارد Azure ذات الصلة.

أولاً، أنشئ مجموعة موارد باسم myResourceGroup في موقع eastus باستخدام الأمر New-AzResourceGroup التالي:

New-AzResourceGroup -Name myResourceGroup -Location EastUS

إنشاء منفذ لمثيل الحاوية

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

$port = New-AzContainerInstancePortObject -Port 80 -Protocol TCP

إنشاء مجموعة حاويات

الآن بعد أن أصبح لديك مجموعة موارد ومنفذ، يمكنك تشغيل حاوية معرضة للإنترنت في Azure. لإنشاء مثيل حاوية باستخدام Azure PowerShell، تحتاج أولا إلى إنشاء ContainerInstanceObject عن طريق توفير اسم وصورة ومنفذ للحاوية. في هذه البداية السريعة، يمكن استخدام صورة mcr.microsoft.com/azuredocs/aci-helloworld العامة.

New-AzContainerInstanceObject -Name myContainer -Image mcr.microsoft.com/azuredocs/aci-helloworld -Port @($port)

بعد ذلك، استخدم New-AzContainerGroup cmdlet. تحتاج إلى توفير اسم لمجموعة الحاويات واسم مجموعة الموارد وموقع لمجموعة الحاوية ومثيل الحاوية الذي أنشأته ونوع نظام التشغيل وتسمية اسم DNS عنوان IP فريد.

قم بتنفيذ أمر مشابه لما يلي لبدء مثيل حاوية. قم بتعيين قيمة -IPAddressDnsNameLabel فريدة داخل منطقة Azure حيث تقوم بإنشاء المثيل. إذا تلقيت رسالة خطأ "تسمية اسم DNS غير متوفرة"، فجرب تسمية اسم DNS مختلفة.

$containerGroup = New-AzContainerInstanceObject -ResourceGroupName myResourceGroup -Name myContainerGroup -Location EastUS -Container myContainer -OsType Windows -IPAddressDnsNameLabel aci-quickstart-win -IpAddressType Public -IPAddressPort @($port)

في غضون ثوان قليلة، يجب أن تتلقى استجابة من Azure. يكون ProvisioningState الحاوية في البداية قيد الإنشاء، ولكن يجب أن ينتقل إلى تم بنجاح في غضون دقيقة أو دقيقتين. تحقق من حالة النشر مع cmdlet Get-AzContainerGroup:

Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

يمكنك أيضا طباعة العنصر $containerGroup وتصفية الجدول لحالة توفير الحاوية واسم المجال المؤهل بالكامل (FQDN) وعنوان IP.

$containerGroup | Format-Table InstanceViewState, IPAddressFqdn, IPAddressIP

تظهر حالة توفير الحاوية وFQDN وعنوان IP في إخراج cmdlet:

PS Azure:\> Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

ResourceGroupName        : myResourceGroup
Id                       : /subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroups/myContainerGroup
Name                     : myContainerGroup
Type                     : Microsoft.ContainerInstance/containerGroups
Location                 : eastus
Tags                     :
ProvisioningState        : Creating
Containers               : {myContainer}
ImageRegistryCredentials :
RestartPolicy            : Always
IpAddress                : 52.226.19.87
DnsNameLabel             : aci-demo-win
Fqdn                     : aci-demo-win.eastus.azurecontainer.io
Ports                    : {80}
OsType                   : Windows
Volumes                  :
State                    : Pending
Events                   : {}

إذا تم ProvisioningState نجاح الحاوية، فانتقل إلى FQDN الخاص بها في متصفحك. إذا كانت رؤية صفحة ويب مشابهة لما يلي، فتهانينا! لقد نجحت في نشر تطبيق يعمل في حاوية Docker إلى Azure.

! [عرض تطبيق تم نشره في مثيلات حاوية Azure في المستعرض] [./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]

تنظيف الموارد

عند الانتهاء من الحاوية، قم بإزالتها باستخدام Remove-AzContainerGroup cmdlet:

Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

الخطوات التالية

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