مشاركة عبر


التشغيل السريع: تشغيل حاوية مخصصة في Azure

توفر Azure App Service مكدسات تطبيقات محددة مسبقا على Windows، مثل ASP.NET أو Node.js، التي تعمل على IIS. يقوم التطبيق الذي تم تكوينه مسبقا بتأمين نظام التشغيل ومنع الوصول منخفض المستوى. لا تحتوي حاويات Windows المخصصة على هذه القيود. فهي تتيح للمطورين تخصيص الحاويات بالكامل ومنح التطبيقات المعبأة في حاويات حق الوصول الكامل إلى وظائف Windows.

يوضح هذا التشغيل السريع كيفية نشر تطبيق ASP.NET في صورة Windows إلى Azure Container Registry من Visual Studio. يُمكنك تشغيل التطبيق في حاوية مُخصصة في خدمة Azure App Service.

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

  • تثبيت Docker لنظام التشغيل Windows

  • قم بتبديل Docker لتشغيل حاويات Windows

  • تثبيت Visual Studio 2022 باستخدام ASP.NET وتطوير الويب وأحجام عمل التطوير الخاصة بـ Azure. في Visual Studio 2022 Community، تأكد من تحديد مكون مشروع .NET Framework وقوالب العناصر مع حمل عمل تطوير ASP.NET والويب. إذا قمت بتثبيت Visual Studio 2022 بالفعل:

    • ثبّت آخر التحديثات في Visual Studio بتحديد تعليمات>التحقق من وجود تحديثات.
    • أضِف أحمال العمل في Visual Studio من خلال تحديد "Tools">"Get Tools and Features".

قم بإنشاء تطبيق ويب ASP.NET

قم بإنشاء تطبيق ويب ASP.NET من خلال اتباع الخطوات التالية:

  1. افتح Visual Studio، ثم حدد "Create a new project".

  2. في Create a new project، حدد ASP.NET Web Application (.NET Framework) ل C#، ثم حدد Next.

    لقطة شاشة لمربع حوار إنشاء مشروع جديد.

  3. في تكوين مشروعك الجديد، قم بتسمية التطبيق myFirstAzureWebApp، ثم حدد إنشاء. ضمن إطار العمل، حدد .NET Framework 4.8 ثم حدد إنشاء.

    لقطة شاشة لمشروع تكوين تطبيق الويب.

  4. يُمكنك نشر أي نوع من تطبيقات الويب ASP.NET إلى Azure. لهذا التشغيل السريع، اختر قالب MVC.

  5. ضمن المصادقة، حدد بلا. ضمن خيارات متقدمة، حدد دعم الحاوية وقم بإلغاء تحديد تكوين ل HTTPS. حدد إنشاء.

    لقطة شاشة لمربع الحوار إنشاء تطبيق ويب ASP.NET.

  6. إذا لم يتم فتح ملف "Dockerfile" تلقائياً، افتحه من "Solution Explorer".

  7. تحتاج إلى استخدام صورة أصل معتمدة. قم بتغيير الصورة الأصل عن طريق استبدال سطر FROM الذي يحتوي التعليمات البرمجية التالية واحفظ الملف:

    FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
    
  8. من قائمة Visual Studio، حدد تصحيح>بدء بدون تصحيح لتشغيل تطبيق الويب محلياً.

    لقطة شاشة للتطبيق قيد التشغيل محلياً.

نشر في Azure Container Registry

  1. في مستكشف الحلول، انقر بزر الماوس الأيمن فوق مشروع myfirstazurewebapp وحدد نشر.

  2. في Target، حدد Docker Container Registry، ثم حدد Next.

    لقطة شاشة لشاشة Select Docker Container Registry.

  3. في Specific Target، حدد Azure Container Registry، ثم حدد Next.

     لقطة شاشة لصفحة النشر من نظرة عامة على المشروع.

  4. في Publish، اختر الاشتراك الصحيح. في سجلات الحاوية، حدد إنشاء جديد لإنشاء سجل حاويات Azure جديد.

    لقطة شاشة لإنشاء سجل حاوية Azure جديدة.

  5. في Create new، حدد الاشتراك الصحيح. ضمن مجموعة الموارد، حدد جديد واكتب myResourceGroup للاسم، وحدد موافق. بالنسبة لـ" SKU"، حدد " Basic". ضمن موقع السجل، حدد موقعا للسجل ثم حدد إنشاء.

    لقطة شاشة لتفاصيل سجل حاوية Azure.

  6. في Publish، ضمن Container Registry، حدد السجل الذي أنشأته، ثم حدد Finish.

    لقطة شاشة لتحديد سجل حاوية Azure الموجودة.

    انتظر حتى يكتمل التوزيع. تعرض صفحة Publish الآن اسم المستودع لاستخدامه لاحقاً. حدد زر النسخ لنسخ اسم المستودع لاحقا.

    لقطة شاشة تعرض اسم المستودع.

إنشاء حاوية مخصصة ل Windows

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. اختر "Create a resource" من الزاوية العلوية اليسرى من مدخل Microsoft Azure.

  3. ضمن "Popular services"، حدد "Create" ضمن "Web App".

  4. في "Create Web App"، اختر اشتراكك ومجموعة موارد. يُمكنك إنشاء مجموعة موارد جديدة إذا لزِم الأمر.

  5. قم بتوفير اسم تطبيق، مثل "win-container-demo". بالنسبة إلى Publish، حدد Container. بالنسبة لنظام التشغيل، حدد Windows.

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

  6. حدد Next: Database، ثم Next: Container للمتابعة.

  7. بالنسبة لـ "Image Source"، اختر "Docker Hub" ولـ "Image and tag"، أدخِل اسم المستودع الذي نسخته في "Publish to Docker Hub".

    لقطة شاشة لتكوين تطبيق الويب للحاويات.

    إذا كانت لديك صورة مُخصصة في مكان آخر لتطبيق الويب الخاص بك، كما هو الحال في Azure Container Registry أو في أي مستودع خاص آخر، يُمكنك تكوينها هنا. حدد «مراجعة + إنشاء» للمتابعة.

  8. تحقق من جميع التفاصيل ثم حدد إنشاء.

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

    انتظر حتى يقوم Azure بإنشاء الموارد المطلوبة.

استعرض للوصول إلى الحاوية المخصصة

عند انتهاء العملية، يعرض مدخل Microsoft Azure إعلاما.

لقطة شاشة للنشر نجحت.

  1. حدد الانتقال إلى المورد.

  2. في نظرة عامة على هذا المورد، اتبع الارتباط بجوار المجال الافتراضي.

تفتح صفحة مستعرض جديدة في الصفحة التالية:

لقطة شاشة لبدء حاوية Windows المخصصة.

انتظر بضع دقائق وحاول مرة أخرى، حتى تُعرض الصفحة الرئيسية الافتراضية لـ ASP.NET:

لقطة شاشة لحاوية Windows المخصصة قيد التشغيل.

تهانينا! تقوم بتشغيل حاوية Windows المُخصصة الأولى لك في خدمة Azure App Service.

مراجعة سجلات بدء تشغيل الحاوية

قد يستغرق تحميل حاوية Windows بعض الوقت. لمشاهدة التقدم، انتقل إلى عنوان URL التالي عن طريق استبدال < app_name > باسم التطبيق خاصتك.

https://<app_name>.scm.azurewebsites.net/api/logstream

تبدو السجلات المتدفقة كما يلي:

2018-07-27T12:03:11  Welcome, you are now connected to log-streaming service.
27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b
27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully

التحديث محلياً وإعادة التوزيع

  1. في Visual Studio، في "Solution Explorer"، افتح "Views">"Home">"Index.cshtm".

  2. ابحث عن علامة <div class="jumbotron"> HTML بالقرب من الجزء العلوي، واستبدل العنصر بأكمله بالتعليمة البرمجية التالية:

    <div class="jumbotron">
        <h1>ASP.NET in Azure!</h1>
        <p class="lead">This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.</p>
    </div>
    
  3. لإعادة النشر إلى Azure، انقر بزر الماوس الأيمن فوق مشروع myfirstazurewebapp في "Solution Explorer" واختر "Publish".

  4. في صفحة النشر، حدد "Publish" وانتظر حتى يكتمل النشر.

  5. لإخبار خدمة App Service بسحب الصورة الجديدة من Docker Hub، أعِد تشغيل التطبيق. في صفحة التطبيق في مدخل Microsoft Azure، حدد إعادة تشغيل>نعم.

     لقطة شاشة لنظرة عامة على خدمة التطبيق مع تمييز زر إعادة التشغيل.

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

لقطة شاشة لتطبيق الويب المحدث في Azure.

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

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

من قائمة مدخل Microsoft Azure أو من Home، حدد Resource groups. بعد ذلك، في صفحة مجموعات الموارد، حدد "myResourceGroup".

في صفحة myResourceGroup، تأكد من أن الموارد المدرجة هي التي تريد حذفها.

حدد حذف مجموعة الموارد واكتب myResourceGroup في مربع النص للتأكيد، ثم حدد حذف.

توفر Azure App Service على Linux مكدسات تطبيقات محددة مسبقا على Linux مع دعم لغات مثل .NET وJava Node.js وPHP. يُمكنك أيضاً استخدام صورة Docker مُخصصة لتشغيل تطبيق الويب الخاص بك على مكدس تطبيق غير مُحدد بالفعل في Azure. يُوضّح هذا التشغيل السريع لك كيفية نشر إحدى الصور من خدمة Azure Container Registry (ACR) إلى خدمة App Service.

لمزيد من المعلومات حول التطبيقات المعبأة في حاويات في بيئة بلا خادم، راجع تطبيقات الحاوية.

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

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

يستخدم هذا التشغيل السريع Azure Container Registry كسجل. يمكنك استخدام سجلات أخرى، ولكن قد تختلف الخطوات قليلا.

قم بإنشاء سجل الحاويات من خلال اتباع الإرشادات في التشغيل السريع: إنشاء سجل حاوية خاصة باستخدام مدخل Microsoft Azure.

هام

تأكّد من تعيين الخيار "Admin User" إلى "Enable" عند إنشائك Azure container registry. يُمكنك كذلك تعيينه من قسم "Access keys" في صفحة السجل الخاص بك في مدخل Microsoft Azure. هذا الإعداد مطلوب للوصول إلى خدمة App Service. للحصول على الهوية المدارة، راجع نشر من البرنامج التعليمي ACR.

تسجيل الدخول

  1. أطلِق Visual Studio Code.

  2. حدد شعار Azure في شريط النشاط، وانتقل إلى ACCOUNTS & TENANTS. حدد تسجيل الدخول إلى Azure واتبع الإرشادات.

    لقطة شاشة لتسجيل الدخول إلى Azure in Visual Studio Code.

  3. في شريط الحالة في الجزء السفلي، تحقق من عنوان البريد الإلكتروني لحساب Azure الخاص بك. في مستكشف "APP SERVICE"، يجب عرض اشتراكك.

  4. في شريط النشاط، حدد شعار "Docker". في مستكشف "REGISTRIES"، تحقق من ظهور سجل الحاوية الذي قمت بإنشائه.

    لقطة شاشة تعرض قيمة السجلات مع توسيع Azure.

التحقق من المتطلبات الأساسية

تحقق من تثبيت Docker وتشغيله. يعرض الأمر التالي إصدار Docker إذا كان قيد التشغيل.

docker --version

إنشاء صورة وبنائها

  1. في Visual Studio Code، افتح مجلدا فارغا وأضف ملفا يسمى Dockerfile. في Dockerfile، الصق المحتوى استنادا إلى إطار عمل اللغة المطلوب:

    في Dockerfile هذا، تُعدّ الصورة الأصل واحدة من حاويات .NET المُضمَّنة في خدمة App Service.

    FROM mcr.microsoft.com/appsvc/dotnetcore:lts
    
    ENV PORT 8080
    EXPOSE 8080
    
    ENV ASPNETCORE_URLS "http://*:${PORT}"
    
    ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]
    
  2. افتح لوحة الأوامر، واكتب "Docker Images: Build Image". حدد Enter لتشغيل الأمر.

  3. في مربع "image tag"، حدد العلامة التي تريدها بالتنسيق التالي: <acr-name>.azurecr.io/<image-name>:<tag>، ويكون <acr-name> هو اسم سجل الحاوية الذي أنشأته. حدد Enter.

  4. عند انتهاء الصورة من الإنشاء، حدد Refresh في أعلى مستكشف IMAGES وتحقق من أن الصورة تم إنشاؤها بنجاح.

    لقطة شاشة تعرض الصورة المُضمَّنة مع العلامة.

النشر إلى سجل الحاوية

  1. في شريط النشاط، حدد أيقونة Docker . في مستكشف "IMAGES"، ابحث عن الصورة التي أنشأتها للتوّ.

  2. قم بتوسيع الصورة، وانقر بزر الماوس الأيمن فوق العلامة التي تريدها، وحدد Push.

  3. تأكّد من أن علامة الصورة تبدأ بـ <acr-name>.azurecr.io واضغط على "Enter".

  4. عند انتهاء Visual Studio Code من دفع الصورة إلى سجل الحاوية، حدد Refresh في أعلى مستكشف REGISTRIES وتحقق من دفع الصورة بنجاح.

    لقطة شاشة تُوضّح الصورة المنشورة في Azure container registry.

التوزيع إلى App Service

  1. في مستكشف REGISTRIES ، قم بتوسيع الصورة، وانقر بزر الماوس الأيمن فوق العلامة، وحدد Deploy Image to Azure App Service.
  2. اتبع المطالبات لاختيار أحد الاشتراكات، واسم تطبيق فريد عالمياً، ومجموعة موارد وخطة لخدمة App Service. اختر "B1 Basic" لمستوى التسعير، ومنطقة ما قريبة منك.

بعد النشر، يتوفّر التطبيق الخاص بك في http://<app-name>.azurewebsites.net.

"Resource Group" هي مجموعة مُسمَّاة من كافة موارد التطبيق الخاصة بك في Azure. على سبيل المثال، يُمكن أن تحتوي مجموعة الموارد على أحد المراجع إلى موقع ويب، وقاعدة بيانات ووظيفة Azure.

تحدد خطة خدمة التطبيقات الموارد الفعلية التي يجب استخدامها لاستضافة موقعك على ويب. يستخدم هذا التشغيل السريع خطة استضافة أساسية على البنية الأساسية ل Linux ، ما يعني أن الموقع مستضاف على جهاز Linux جنبا إلى جنب مع مواقع الويب الأخرى. إذا بدأت بالخطة الأساسية، يُمكنك استخدام مدخل Microsoft Azure لتوسيع نطاقه بحيث يكون موقعك هو الموقع الوحيد الذي يعمل على الجهاز. بالنسبة للتسعير، راجع تسعير خدمة App Service.

تصفح الموقع

تعرض لوحة الإخراج حالة عمليات النشر. عند اكتمال العملية، انقر فوق "Open Site" في الإعلام المُنبثق لفتح الموقع في المستعرض الخاص بك.

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

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

من قائمة مدخل Microsoft Azure أو من Home، حدد Resource groups. بعد ذلك، في صفحة مجموعات الموارد، حدد "myResourceGroup".

في صفحة myResourceGroup، تأكد من أن الموارد المدرجة هي التي تريد حذفها.

حدد حذف مجموعة الموارد واكتب myResourceGroup في مربع النص للتأكيد، ثم حدد حذف.

تهانينا، لقد أكملت هذا التشغيل السريع بنجاح.

يخرج تطبيق App Service من سجل الحاويات في كل مرة يبدأ التشغيل. إذا أعدت بناء صورتك، ستحتاج فقط إلى دفعها إلى سجل الحاوية الخاص بك، وسيسحب التطبيق الصورة المُحدَّثة عند إعادة تشغيله. لإعلام تطبيقك بسحب الصورة المُحدَّثة على الفور، أعِد تشغيله.

ملحقات Azure الأخرى:

توفر Azure App Service على Linux مكدسات تطبيقات محددة مسبقا على Linux مع دعم لغات مثل .NET وJava Node.js وPHP. يُمكنك أيضاً استخدام صورة Docker مُخصصة لتشغيل تطبيق الويب الخاص بك على مكدس تطبيق غير مُحدد بالفعل في Azure. يُوضّح هذا التشغيل السريع لك كيفية نشر إحدى الصور من خدمة Azure Container Registry (ACR) إلى خدمة App Service.

لمزيد من المعلومات حول التطبيقات المعبأة في حاويات في بيئة بلا خادم، راجع تطبيقات الحاوية.

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

استنساخ مستودع العينة

استنساخ نموذج التطبيق .NET 6.0 باستخدام الأمر التالي:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

ادفع الصورة لـ Azure Container Registry

تأكد من أنك في المجلد الجذر للمستودع المستنسخ. يحتوي هذا المستودع على ملف Dockerfile.linux .

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

    az login
    
  2. سجل الدخول إلى سجل حاوية Azure.

    az acr login -n <your_registry_name>
    
  3. بناء صورة الحاوية. يستخدم هذا المثال اسم الصورة dotnetcore-docs-hello-world-linux.

    docker build -f Dockerfile.linux -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux . 
    
  4. دفع الصورة إلى Azure Container Registry.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux:latest
    

    إشعار

    يقوم Dockerfile بتعيين رقم المنفذ إلى 80 داخليا. لمزيد من المعلومات حول تكوين الحاوية، راجع تكوين حاوية مخصصة.

نشر في Azure

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

قم بتسجيل الدخول إلى بوابة Azure.

إنشاء موارد Azure

  1. اكتب خدمات التطبيق في البحث. ضمن الخدمات، حدد خدمات التطبيقات.

    لقطة شاشة للبحث عن 'خدمات التطبيق' في مدخل Azure.

  2. في صفحة App Services، حدد Create>Web App.

  3. في علامة التبويب Basics ، ضمن Project details، حدد الاشتراك الصحيح. حدد إنشاء مجموعة موارد جديدة . للاسم، اكتب "myResourceGroup".

    لقطة شاشة لقسم تفاصيل المشروع توضح المكان الذي تحدد فيه اشتراك Azure ومجموعة الموارد لتطبيق الويب.

  4. ضمن تفاصيل المثيل:

    • أدخل اسما فريدا عالميا لتطبيق الويب الخاص بك.
    • حدد Container.
    • بالنسبة إلى نظام التشغيل، حدد Linux.
    • حدد المنطقة التي تريد خدمة تطبيقك منها.

    لقطة شاشة لقسم

  5. ضمن خطة خدمة التطبيقات، اختر إنشاء خطة خدمة تطبيقات جديدة. أدخل myAppServicePlan للاسم. للتغيير إلى المستوى المجاني، حدد تغيير الحجم، وحدد علامة التبويب Dev/Test ، وحدد F1. حدد تطبيق.

    لقطة شاشة لخيارات خطة App Service.

  6. في أعلى الصفحة، حدد علامة التبويب Container .

  7. في علامة التبويب Container، لمصدر الصورة، حدد Azure Container Registry. ضمن خيارات تسجيل حاوية Azure، قم بتعيين القيم التالية:

    • التسجيل: حدد سجل حاوية Azure خاصتك.
    • الصورة: حدد dotnetcore-docs-hello-world-linux.
    • العلامة: حدد الأحدث.

    لقطة شاشة تعرض خيارات تسجيل حاوية Azure.

  8. حدد مراجعة + إنشاء عند أسفل الصفحة.

    لقطة شاشة تعرض الزر مراجعة وإنشاء في أسفل الصفحة.

  9. بعد تشغيل التحقق من الصحة، حدد إنشاء.

  10. بعد انتهاء النشر، حدد Go to resource.

    لقطة شاشة تعرض الخطوة التالية من الانتقال إلى المورد.

استعرض التطبيق

استعرض للوصول إلى تطبيق المنتشرة في متصفح الويب الخاص بك في URL⁦http://<app-name>.azurewebsites.net ⁩.

لقطة شاشة تظهر التطبيق الموزع.

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

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

من قائمة مدخل Microsoft Azure أو من Home، حدد Resource groups. بعد ذلك، في صفحة مجموعات الموارد، حدد "myResourceGroup".

في صفحة myResourceGroup، تأكد من أن الموارد المدرجة هي التي تريد حذفها.

حدد حذف مجموعة الموارد واكتب myResourceGroup في مربع النص للتأكيد، ثم حدد حذف.

تهانينا، لقد أكملت هذا التشغيل السريع بنجاح.

يسحب تطبيق App Service من سجل الحاوية في كل مرة يبدأ فيها. إذا قمت بإعادة إنشاء صورتك، فما عليك سوى دفعها إلى سجل الحاوية. يسحب التطبيق الصورة المحدثة عند إعادة تشغيله. لإعلام تطبيقك بسحب الصورة المُحدَّثة على الفور، أعِد تشغيله.

توفر Azure App Service مكدسات تطبيقات محددة مسبقا على Windows، مثل ASP.NET أو Node.js، التي تعمل على IIS. يقوم التطبيق الذي تم تكوينه مسبقا بتأمين نظام التشغيل ومنع الوصول منخفض المستوى. لا تحتوي حاويات Windows المخصصة على هذه القيود. فهي تتيح للمطورين تخصيص الحاويات بالكامل ومنح التطبيقات المعبأة في حاويات حق الوصول الكامل إلى وظائف Windows.

يُوضّح هذا التشغيل السريع لك كيفية نشر إحدى الصور من خدمة Azure Container Registry (ACR) إلى خدمة App Service.

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

استنساخ مستودع العينة

استنساخ نموذج التطبيق .NET 6.0 باستخدام الأمر التالي:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

ادفع الصورة لـ Azure Container Registry

تأكد من أنك في المجلد الجذر للمستودع المستنسخ. يحتوي هذا المستودع على ملف Dockerfile.linux . تستخدم هذه المقالة Windows Nano Server Long Term Servicing Channel (LTSC) 2022 كنظام تشغيل أساسي، مما يستدعي قاعدة Windows الخاصة بنا بشكل صريح.

إشعار

على الرغم من أن هذه الحاوية هي حاوية Windows، لا تزال المسارات بحاجة إلى استخدام الشرطة المائلة للأمام. لمزيد من المعلومات، راجع كتابة Dockerfile.

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

    az login
    
  2. سجل الدخول إلى سجل حاوية Azure.

    az acr login -n <your_registry_name>
    
  3. بناء صورة الحاوية. يستخدم هذا المثال اسم الصورة dotnetcore-docs-hello-world-windows.

    docker build -f Dockerfile.windows -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows . 
    
  4. دفع الصورة إلى Azure Container Registry.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows:latest
    

    إشعار

    يقوم Dockerfile بتعيين رقم المنفذ إلى 80 داخليا. لمزيد من المعلومات حول تكوين الحاوية، راجع تكوين حاوية مخصصة.

نشر في Azure

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

قم بتسجيل الدخول إلى بوابة Azure.

إنشاء موارد Azure

  1. اكتب خدمات التطبيق في البحث. ضمن الخدمات، حدد خدمات التطبيقات.

    لقطة شاشة للبحث عن 'خدمات التطبيق' في مدخل Azure.

  2. في صفحة App Services، حدد Create>Web App.

  3. في علامة التبويب Basics ، ضمن Project details، حدد الاشتراك الصحيح. حدد إنشاء مجموعة موارد جديدة . للاسم، اكتب "myResourceGroup".

    لقطة شاشة لقسم تفاصيل المشروع توضح المكان الذي تحدد فيه اشتراك Azure ومجموعة الموارد لتطبيق الويب.

  4. ضمن تفاصيل المثيل:

    • أدخل اسما فريدا عالميا لتطبيق الويب الخاص بك.
    • حدد Container.
    • بالنسبة إلى نظام التشغيل، حدد Linux.
    • حدد المنطقة التي تريد خدمة تطبيقك منها.

    لقطة شاشة لقسم

  5. ضمن خطة خدمة التطبيقات، اختر إنشاء خطة خدمة تطبيقات جديدة. أدخل myAppServicePlan للاسم. لتغيير المستوى، حدد استكشاف خطط التسعير، وحدد خطة، واختر تحديد في أسفل الصفحة.

    لقطة شاشة لخيارات خطة App Service.

  6. في أعلى الصفحة، حدد علامة التبويب Container .

  7. في علامة التبويب Container، لمصدر الصورة، حدد Azure Container Registry . ضمن خيارات تسجيل حاوية Azure، قم بتعيين القيم التالية:

    • التسجيل: حدد سجل حاوية Azure خاصتك.
    • الصورة: حدد dotnetcore-docs-hello-world-linux.
    • العلامة: حدد الأحدث.

    لقطة شاشة تعرض خيارات تسجيل حاوية Azure.

  8. حدد مراجعة + إنشاء عند أسفل الصفحة.

    لقطة شاشة تعرض الزر مراجعة وإنشاء في أسفل الصفحة.

  9. بعد تشغيل التحقق من الصحة، حدد إنشاء.

  10. بعد انتهاء النشر، حدد Go to resource.

    لقطة شاشة تعرض الخطوة التالية من الانتقال إلى المورد.

استعرض التطبيق

استعرض للوصول إلى تطبيق المنتشرة في متصفح الويب الخاص بك في URL⁦http://<app-name>.azurewebsites.net ⁩.

لقطة شاشة لخدمة تطبيقات Windows مع المراسلة التي تعمل بها الحاويات التي لا تحتوي على منفذ مكشوف في وضع الخلفية.

يظهر نظام التشغيل Host في التذييل، مما يؤكد أنه يعمل في حاوية Windows.

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

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

من قائمة مدخل Microsoft Azure أو من Home، حدد Resource groups. بعد ذلك، في صفحة مجموعات الموارد، حدد "myResourceGroup".

في صفحة myResourceGroup، تأكد من أن الموارد المدرجة هي التي تريد حذفها.

حدد حذف مجموعة الموارد واكتب myResourceGroup في مربع النص للتأكيد، ثم حدد حذف.

تهانينا، لقد أكملت هذا التشغيل السريع بنجاح.

يسحب تطبيق App Service من سجل الحاوية في كل مرة يبدأ فيها. إذا قمت بإعادة إنشاء صورتك، فما عليك سوى دفعها إلى سجل الحاوية. يسحب التطبيق الصورة المحدثة عند إعادة تشغيله. لإعلام تطبيقك بسحب الصورة المُحدَّثة على الفور، أعِد تشغيله.

توفر Azure App Service مكدسات تطبيقات محددة مسبقا على Windows، مثل ASP.NET أو Node.js، التي تعمل على IIS. يقوم التطبيق الذي تم تكوينه مسبقا بتأمين نظام التشغيل ومنع الوصول منخفض المستوى. لا تحتوي حاويات Windows المخصصة على هذه القيود. فهي تتيح للمطورين تخصيص الحاويات بالكامل ومنح التطبيقات المعبأة في حاويات حق الوصول الكامل إلى وظائف Windows.

يُوضّح هذا التشغيل السريع لك كيفية توزيع إحدى الصور من خدمة سجل Microsoft Artifact (ACR) إلى خدمة تطبيق Azure.

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

قم بالاتصال بـ Azure

سجل الدخول إلى حساب Azure الخاص بك باستخدام الأمر Connect-AzAccount واتباع المطالبة:

Connect-AzAccount

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

قم بإنشاء مجموعة موارد باستخدام أمرNew-AzResourceGroup. مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها.

في المثال التالي، سيتم إنشاء مجموعة موارد باسم myResourceGroup في موقع eastus. لمشاهدة جميع المواقع المدعومة لخدمة التطبيقات، قم بتشغيل الأمر Get-AzLocation .

New-AzResourceGroup -Name myResourceGroup -Location eastus

يقوم الأمر بإرجاع Login Succeeded.

إنشاء خطة App Service

إنشاء خطة خدمة تطبيق جديدة باستخدام الأمر New-AzAppServicePlan.

ينشئ المثال التالي خطة خدمة التطبيقات المسماة myAppServicePlanفي طبقة أسعار PremiumV3 (-Tier PremiumV3). تحدد المعلمة -HyperV حاوية Windows.

New-AzAppServicePlan -Name myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -Tier PremiumV3 -HyperV

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

إنشاء تطبيق جديد باستخدام الأمر New-AzWebApp:

New-AzWebApp -Name myWebApp -AppServicePlan myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -ContainerImageName mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • تحدد المعلمة الاسم اسم تطبيق الويب.
  • تحدد المعلمة AppServicePlan اسم خطة خدمة التطبيقات.
  • تحدد معلمة الموقع الموقع.
  • تحدد المعلمة ResourceGroupName اسم مجموعة الموارد.
  • تحدد المعلمة ContainerImageName اسم صورة الحاوية والعلامة الاختيارية.

قد يستغرق الأمر بضع دقائق حتى يكتمل.

استعرض التطبيق

استعرض للوصول إلى تطبيق المنتشرة في متصفح الويب الخاص بك في URL⁦http://<app-name>.azurewebsites.net ⁩.

لقطة شاشة لخدمة تطبيقات Windows مع المراسلة التي تعمل بها الحاويات التي لا تحتوي على منفذ مكشوف في وضع الخلفية.

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

قم بإزالة مجموعة موارد باستخدام أمر Remove-AzResourceGroup:

Remove-AzResourceGroup myResourceGroup

تهانينا، لقد أكملت هذا التشغيل السريع بنجاح.

يسحب تطبيق App Service من سجل الحاوية في كل مرة يبدأ فيها. إذا قمت بإعادة إنشاء صورتك، فما عليك سوى دفعها إلى سجل الحاوية. يسحب التطبيق الصورة المحدثة عند إعادة تشغيله. لإعلام تطبيقك بسحب الصورة المُحدَّثة على الفور، أعِد تشغيله.

توفر Azure App Service مكدسات تطبيقات محددة مسبقا على Windows، مثل ASP.NET أو Node.js، التي تعمل على IIS. يقوم التطبيق الذي تم تكوينه مسبقا بتأمين نظام التشغيل ومنع الوصول منخفض المستوى. لا تحتوي حاويات Windows المخصصة على هذه القيود. فهي تتيح للمطورين تخصيص الحاويات بالكامل ومنح التطبيقات المعبأة في حاويات حق الوصول الكامل إلى وظائف Windows.

يُوضّح هذا التشغيل السريع لك كيفية توزيع إحدى الصور من خدمة سجل Microsoft Artifact (ACR) إلى خدمة تطبيق Azure.

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

قم بالاتصال بـ Azure

سجل الدخول إلى حساب Azure الخاص بك باستخدام الأمر az login واتباع المطالبة:

az login

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

إنشاء مجموعة موارد مع الأمر az group create. مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها.

في المثال التالي، سيتم إنشاء مجموعة موارد باسم myResourceGroup في موقع eastus. لمشاهدة جميع المواقع المدعومة لخدمة التطبيقات، قم بتشغيل الأمر az appservice list-locations .

az group create --name myResourceGroup --location eastus

إنشاء خطة App Service

إنشاء خطة خدمة التطبيق في مجموعة الموارد باستخدام الأمر az appservice plan create.

ينشئ المثال التالي خطة خدمة التطبيقات المسماة myAppServicePlanفي طبقة الأسعارP1V3 (--sku P1V3).

az appservice plan create --resource-group myResourceGroup --location eastus --name myAppServicePlan --hyper-v --sku p1v3

إشعار

إذا واجهت الخطأ، فقد تم تغيير سلوك هذا الأمر بواسطة الملحق التالي: appservice-kube، قم بإزالة الملحق appservice-kube .

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

إنشاء تطبيق ويب مخصصًا للحاوية myAppServicePlanفي خطة خدمة التطبيق باستخدام الأمر إنشاء az webapp. لا تنس استبدال myContainerApp باسم تطبيق فريد (الأحرف الصالحة هي a-z، 0-9، و -).

az webapp create --name myContainerApp --plan myAppServicePlan --resource-group myResourceGroup --deployment-container-image-name mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • تحدد المعلمة الاسم اسم تطبيق الويب.
  • تحدد المعلمة AppServicePlan اسم خطة خدمة التطبيقات.
  • تحدد معلمة الموقع الموقع.
  • تحدد المعلمة ResourceGroupName اسم مجموعة الموارد.
  • تحدد معلمة deployment-container-image-name اسم صورة الحاوية والعلامة الاختيارية.

استعرض التطبيق

استعرض للوصول إلى تطبيق المنتشرة في متصفح الويب الخاص بك في URL⁦http://<app-name>.azurewebsites.net ⁩.

لقطة شاشة لخدمة تطبيقات Windows مع المراسلة التي تعمل بها الحاويات التي لا تحتوي على منفذ مكشوف في وضع الخلفية.

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

قم بإزالة مجموعة موارد باستخدام أمر az group delete:

az group delete --no-wait --name <resource_group>

تهانينا، لقد أكملت هذا التشغيل السريع بنجاح.

يسحب تطبيق App Service من سجل الحاوية في كل مرة يبدأ فيها. إذا قمت بإعادة إنشاء صورتك، فما عليك سوى دفعها إلى سجل الحاوية. يسحب التطبيق الصورة المحدثة عند إعادة تشغيله. لإعلام تطبيقك بسحب الصورة المُحدَّثة على الفور، أعِد تشغيله.