أنشئ تطبيق ASP.NET Core في حاوية Docker من Docker Hub باستخدام Azure CLI

يُنشئ هذا البرنامج النصي النموذجي مجموعة موارد وخطة خدمة تطبيقات Linux وتطبيقاً. ثم ينشر تطبيق ASP.NET Core باستخدام Docker Container.

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

المتطلبات الأساسية

نموذج البرنامج النصي

تشغيل Azure Cloud Shell

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

لفتح Cloud Shell، ما عليك سوى تحديد "Try it" من الزاوية العليا اليسرى لكتلة التعليمة البرمجية. يمكنك أيضاً تشغيل Cloud Shell في علامة تبويب مستعرض منفصلة بالانتقال إلى https://shell.azure.com.

عند فتح Cloud Shell، تحقق من تحديد Bash لبيئتك. ستستخدم الجلسات اللاحقة Azure CLI في بيئة Bash، حدد نسخ لنسخ كتل التعليمات البرمجية، وألصقها في Cloud Shell، واضغط على Enter لتشغيلها.

تسجيل الدخول إلى Azure

يُصادق Cloud Shell تلقائياً بموجب الحساب الأولي الذي سُجل الدخول به. استخدم البرنامج النصي التالي لتسجيل الدخول باستخدام اشتراك مختلف، واستبدل <Subscription ID> بمعرّف اشتراك Azure الخاص بك. إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

لمزيد من المعلومات، راجع تعيين اشتراك نشط أو تسجيل الدخول بشكل تفاعلي

لإنشاء تطبيق الويب

# Create an ASP.NET Core app in a Docker container from Docker Hub
# set -e # exit if error
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-app-service-rg-$randomIdentifier"
tag="deploy-linux-docker-app-only.sh"
appServicePlan="msdocs-app-service-plan-$randomIdentifier"
webapp="msdocs-web-app-$randomIdentifier"

# Create a resource group.
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tag $tag

# Create an App Service plan in S1 tier
echo "Creating $appServicePlan"
az appservice plan create --name $appServicePlan --resource-group $resourceGroup --sku S1 --is-linux

# Create a web app. To see list of available runtimes, run 'az webapp list-runtimes --linux'
echo "Creating $webapp"
az webapp create --name $webapp --resource-group $resourceGroup --plan $appServicePlan  --runtime "NODE|14-lts"

# Copy the result of the following command into a browser to see the static HTML site.
site="http://$webapp.azurewebsites.net"
echo $site
curl "$site"

تكوين تطبيق الويب باستخدام حاوية Docker مخصصة من Docker Hub

  1. إنشاء المتغير التالي الذي يحتوي على معلومات GitHub.

    dockerHubContainerPath="<replace-with-docker-container-path>" #format: <username>/<container-or-image>:<tag>
    
  2. تكوين تطبيق الويب باستخدام حاوية docker مخصصة من Docker Hub.

    az webapp config container set --docker-custom-image-name $dockerHubContainerPath --name $webApp --resource-group $resourceGroup
    
  3. انسخ نتيجة الأمر التالي إلى مستعرض لمشاهدة تطبيق الويب.

    site="http://$webapp.azurewebsites.net"
    echo $site
    curl "$site"
    

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

استخدم الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المقترنة بها باستخدام الأمر حذف مجموعة az - إلا إذا وُجدت حاجة مستمرة لهذه الموارد. قد يستغرق إنشاء بعض هذه الموارد بعض الوقت، وكذلك حذفها.

az group delete --name $resourceGroup

مرجع النموذج

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

الأمر ملاحظات
az group create يُنشئ مجموعة موارد يتم فيها تخزين جميع الموارد.
az appservice plan create إنشاء خطة App Service.
az webapp create ينشئ تطبيق خدمة التطبيقات.
az webapp config container set يضبط حاوية Docker لتطبيق خدمة التطبيقات.

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

لمزيد من المعلومات عن Azure CLI، راجع وثائق Azure CLI.

يمكن العثور على نماذج البرامج النصية الإضافية لـ CLI في ⁧⁩وثائق Azure App Service⁧⁩.