لهذا المشروع ATA، ستحصل على لمحة حول كيفية عمل Docker في Azure. في هذا البرنامج التعليمي حول Docker في Azure، ستتعرف على خدمة Azure Container Instance (ACI) التي تقدمها مايكروسوفت.
يعتبر Azure Container Instance عبارة عن مجموعة Kubernetes مستضافة عبر استضافة Docker في Azure. يتيح لك نشر أي صورة Docker (Windows و Linux) وتشغيلها كحاوية. يعمل كل حاوية Docker في Azure كحاوية مستقلة تستخدم وحدة المعالجة المركزية والذاكرة المخصصة لها الخاصة.
في هذا المشروع، ستتعلم كيفية نشر وتشغيل أول Azure Container Instance الخاص بك، استنادًا إلى صورة حاوية ASP.NET العينية من مايكروسوفت في سحابة Azure العامة.
بحلول نهاية هذا المشروع، ستكون لديك موقع ويب ASP.NET يعمل في حاوية Docker مستضافة بواسطة خدمة Azure Container Instance.
متطلبات البيئة والمعرفة
للاستفادة القصوى من هذا البرنامج التعليمي حول Docker في Azure، يجب أن تكون لديك ما يلي:
- A local Windows 10 client with Docker Desktop installed.
- A Microsoft Azure account
- وصول إلى حساب Azure مع أذونات لنشر حاوية إلى Azure Container Registry
- تثبيت Azure CLI لنظام التشغيل Windows. ستتعلم من خلال سطر الأوامر.
- A beginner understanding of containers and Docker.
- A registered Docker ID.
إذا كنت لا تحب النموذج المختار في هذا البرنامج التعليمي عن Azure Docker، يمكنك دائمًا استخدام صورة حاوية أخرى على مركز Docker.
بدون مزيد من اللغط، دعونا نبدأ في بناء هذا المشروع!
تشغيل حاوية Docker
لتجنب الإحباط لاحقًا عندما لا يعمل شيء، تحقق دائمًا أولاً مما إذا كان محرك Docker يعمل. للقيام بذلك، افتح نافذة الأوامر أو جلسة PowerShell وقم بتشغيل docker info
.
يمكنك أن ترى أدناه نوع الإخراج الذي يجب أن تتلقاه.

للتحقق من جلب حاوية Docker، قم بتشغيل docker run hello-world
. خلف الكواليس، يقوم أمر docker
ببعض الخطوات:
- يبحث عن حاوية تسمى hello-word محليًا على جهاز الكمبيوتر الخاص بك الذي يعمل بنظام التشغيل Windows 10.
- عندما لا يتم العثور عليها، يتصل بمستودع مركز Docker العام للبحث عن أحدث إصدار لحاوية بالاسم hello-world.
- عند العثور على الحاوية، يتم تنزيلها من مستودع مركز Docker.
- بمجرد التنزيل، يتم تشغيل الحاوية وتنفيذ التعليمات الأولية المقدمة في الصورة التي تستخدمها الحاوية.
يمكنك رؤية بعض الإخراجات النموذجية أدناه.

بدء تشغيل حاوية ASP.NET عينة
الآن بعد أن تعرف كيفية تنزيل حاوية Docker وتشغيلها، الآن قم بتنزيل الحاوية وتشغيل الحاوية التي ستعمل بها في هذا المشروع. هذه الحاوية Docker هي صورة تطبيق ويب ASP.Net Core.
لتنزيل صورة هذا البرنامج التعليمي حول Docker في Azure، قم بتشغيل الأمر التالي:
يقوم هذا الأمر بالقيام بالآتي:
- نظرًا لعدم توفر صورة Docker محليًا، يقوم Docker بتنزيل حاوية تسمى aspnetapp من سجل حاويات عام آخر يستضيفه Microsoft والموجود على mcr.microsoft.com في الدليل dotnet/core/samples. سجل حاويات mcr.microsoft.com مشابه لـ Docker Hub العام ولكنه يتم صيانته بواسطة Microsoft ويستضيف صور حاويات Microsoft فقط.
- يقوم بتشغيل الحاوية على جهاز الكمبيوتر المحلي الخاص بك.
- (-p 8000:80) – يقوم بتعيين منفذ TCP الاستماع 80 على الحاوية إلى منفذ TCP 8000. وهذا يتيح لك الوصول إلى تطبيق الويب على منفذ 8000 محليًا.
- (-it) – سيتم تشغيل الحاوية تفاعليًا، وهذا يعني أنك ستدخل فورًا إلى وحدة التحكم عند بدء التشغيل.
- (
—rm
) – عند إيقاف تشغيل الحاوية، سيتم إزالتها.
يمكنك أن ترى أدناه الإخراج الذي يمكنك أن تتوقعه.

6. من متصفحك، قم بالاتصال بتطبيق الحاوية الذي يعمل عن طريق التصفح إلى http://localhost:8000. يجب أن ترى تطبيق ويب ASP.Net للمثال

إنشاء مستودع حاويات Azure (ACR)
بمجرد أن يتم تنزيل حاوية ASP.NET إلى جهاز الكمبيوتر المحلي، حان الآن وقت ترحيلها إلى استضافة Azure Docker مع ACI وتشغيل هذه الحاوية في Azure. للقيام بذلك، سنقوم بدفع حاوية العرض التوضيحي إلى سجل تخزين الحاويات في Azure (ACR). يعد ACR خدمة تتيح لك نشر وتشغيل حاويات Docker مباشرة داخل Azure.
- قم بتسجيل الدخول إلى بوابة Azure.
- انقر فوق أيقونة الطرفية في الأعلى لبدء شل السحابة Azure.

3. تأكد من اختيار محرر الأوامر Bash كما هو موضح أدناه.

4. قم بإنشاء مجموعة موارد Azure لوضع نسخة من ACR باستخدام الأمر az group create
أدناه.

5. الآن قم بإنشاء ACR داخل مجموعة الموارد باستخدام الأمر az acr create
. فيما يلي مثال على إنشاء ACR بمجموعة SKU الأساسية باستخدام معلمة admin-enabled
المضبوطة على true
. يتم ضبط هذا على true
لأنه يتيح لك إدارة الموارد لاحقًا.

–admin-enabled true
بمجرد الانتهاء، يجب أن يكون لديك الآن نسخة تعمل من ACR داخل مجموعة الموارد الخاصة بك. استضافة Docker في Azure إلى الإنقاذ!
الاتصال بمثيل ACR محليًا
- الآن تحتاج إلى الانتقال من محطة السحابة Azure إلى جهاز الكمبيوتر الشخصي الخاص بك لإكمال الإعداد.
- على جهاز الكمبيوتر المحلي الخاص بك، قم بتشغيل PowerShell أو سطر الأوامر بصلاحيات إدارية. سأستخدم PowerShell.
- قم بالمصادقة على Azure باستخدام Azure CLI عن طريق تشغيل
az login
واتباع التعليمات لتقديم بيانات الاعتماد الخاصة بك.

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

4. التالي، قم بالمصادقة على نسخة ACR التي قمت للتو بإنشائها في سلة Azure Cloud باستخدام الأمر az acr login
باستخدام الأمر أدناه. فيما يلي يمكنك أن ترى أنني أتصل بنسخة ACR تُدعى nopacr1، في مجموعة موارد Azure NOPRG.
تحديث علامة صورة Docker
- أنت الآن جاهز لدفع صورة Docker المحلية إلى نسخة ACR الخاصة بك في تحويل Docker أو ACI في Azure. ولكن يجب أن تستوفي الصورة الأولية تبعية ACR. يجب أن تحتوي جميع الصور الخاصة التي يتم دفعها إلى نسخة ACR على اسم نسخة ACR في اسم الصورة.

ابحث عن رقم معرف الصورة Docker أو اسم الصورة باستخدام الأمر docker images
.

2. حدّث علامة صورة Docker للصورة Docker عن طريق تشغيل الأمر docker tag
كما هو موضح أدناه. إذا كنت تتبع التسمية التقليدية، استخدم اسم ACR NOPACR1 وحدد العلامة كـ nopacr1.azurecr.io. بالنسبة للصورة نفسها، استخدم الاسم dotnetsample.

3. تحقق من أن العلامة قد تم تطبيقها باستخدام الأمر docker images
مرة أخرى. يجب أن ترى الآن أن العلامة قد تم تحديثها.
- رفع صورة Docker إلى نسخة ACR والتحقق

الآن قم بتحميل الصورة المحلية إلى نسخة ACR باستخدام الأمر docker push
كما هو موضح أدناه بتوفير تسمية dns حيث تقع نسخة ACR.

2. بمجرد التحميل، قم بالتحقق من أن النسخة إلى نسخة ACR تمت بنجاح عن طريق استخدام لوحة التحكم Azure عن طريق التنقل إلى جميع الخدمات —> سجلات تخزين الحاويات Azure وتحديد النسخة ACR التي قمت بإنشائها مسبقًا.

3. في القائمة الجانبية إلى اليسار تحت القسم الخدمات، انقر فوق المستودعات. يجب أن تظهر الصورة دوكر التي تم تحميلها لنسخة ACR الخاصة بك هنا.

4. انقر فوق الصورة وسترى نسختها وبعض المعلومات الأخرى المفيدة.
تشغيل نسخة Azure Container Instance (ACI)
- لقد قمت الآن بإنشاء نسخة ACR، ووسمت صورة حاوية دوكر بالاسم ACR كمرجع، وقمت بدفع الصورة إلى نسخة ACR. الآن حان الوقت لاستخدام نسخة Azure Container Instance (ACI) لتشغيل صورة دوكر المخزنة في نسخة ACR الخاصة بك.

استمرارًا من الخطوة السابقة، انقر على … بجوار latest، واختر تشغيل النسخة. سيتم فتح لوحة إنشاء مثيل الحاوية.
- 2. أكمل الحقول في إنشاء مثيل الحاوية أدناه باستخدام المعلومات التالية:
- اسم الحاوية – أي اسم ترغب في استخدامه لهذه الحاوية التشغيلية
- نوع نظام التشغيل – Linux (يعتمد هذا على حاوية المصدر. إذا كنت تستخدم نفس الحاوية في هذا المشروع، قد يكون Windows.)
- الاشتراك – اشتراك Azure الخاص بك
- مجموعة الموارد – أي مجموعة موارد Azure قائمة أو جديدة لإضافة حاوية الى
الموقع – استنادًا إلى مجموعة الموارد

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

3. اضغط على موافق لإنشاء حاوية الـ Container.
4. بمجرد نشر حاوية الـ Container، يجب أن ترى صفحة تبدو مشابهة للمثال أدناه.

5. بمجرد الانتهاء من التنفيذ، افتح ACI في لوحة التحكم عن طريق التنقل إلى جميع الخدمات —> حاويات الوحدة. بمجرد الوصول هنا، تصفح إلى وحدة حاوية Azure (ACI) التي تم إنشاؤها للتو. يجب أن ترى الوحدة كما هو موضح أدناه.

6. قم بنسخ عنوان IP في الزاوية العلوية اليمنى وألصقه في متصفح الويب. يجب أن يتم تحميل تطبيق الويب ASP.NET الخاص بك من وحدة حاوية Azure (ACI) وعرض صفحة ويب كما هو موضح أدناه.
إذا كنت قد انتهيت من هذه الحاوية، يمكنك بعد ذلك استخدام أمر az container delete
لـ إزالة الحاوية.
الختام