ar ar ar ar ar ar ar ar ar ar ar ar en ar ar ar ar ar ar ar ar ar ar ar ar ar en ar en ar ar de ar ar de ar en ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ur ar ar ar ar ar ar ar ar en ar ar ur ar ar ar ar ar ar ar ar en
البرنامج التعليمي: دفع صورة حاوية مُحدثة إلى سجل حاويات منسوخ جغرافيًا لإجراء عمليات نشر لتطبيقات الويب الإقليمية
هذا هو الجزء الثالث في سلسلة برامج تعليمية مُكونة من ثلاثة أجزاء. في ⁧⁩البرنامج التعليمي السابق⁧⁩، تم تكوين النسخ الجغرافي لإجراء عمليتي نشر مختلفتين لتطبيقات الويب الإقليمية. وفي هذا البرنامج التعليمي، ستتمكن من تعديل التطبيق أولاً، ثم إنشاء صورة حاوية جديدة، ودفعها إلى سجلك المنسوخ جغرافيًا. وأخيرًا، يمكنك عرض التغيير، وقد تم نشرها تلقائيًا من خلال خطافات الويب في Azure Container Registry، لكلٍ من مثيلي تطبيقات الويب.
في هذا البرنامج التعليمي، وهو الجزء الأخير في هذه السلسلة، سيمكنك تنفيذ الإجراءات التالية:
إنشاء صورة Docker ووضع علامة لها
دفع التغيير إلى Azure Container Registry
عرض التطبيق المُحدث في منطقتين مختلفتين
إذا لم تكن قد قمت بعد بتكوين عمليتي النشر الإقليمي ⁧⁩لتطبيقات الويب للحاويات⁧⁩، فارجع إلى البرنامج التعليمي السابق في هذه السلسلة، ⁧⁩نشر تطبيق ويب من Azure Container Registry⁧⁩.
في هذه الخطوة، قم بإجراء تغيير على تطبيق الويب؛ بحيث يكون ملحوظًا بشدة بمجرد دفع صورة الحاوية المُحدثة إلى Azure Container Registry.
ابحث عن ⁧AcrHelloworld/Views/Home/Index.cshtml⁩ الملف في مصدر التطبيق الذي ⁧⁩نسخته من GitHub⁧⁩ في برنامج تعليمي سابق، وافتحه في برنامج تحرير النصوص المُفضل لديك. أضِف السطر التالي أسفل سطر ⁧ ⁩ الموجود:
يجب أن يبدو ⁧Index.cshtml⁩ الذي قمت بتعديله مشابهًا لما يلي:
@{ ViewData["Title"] = "Azure Container Registry :: Geo-replication"; }   body { background-image: url('images/azure-regions.png'); background-size: cover; } .footer { position: fixed; bottom: 0px; width: 100%; }    Hello World from: @ViewData["REGION"]   MODIFIED       Registry URL: @ViewData["REGISTRYURL"]   Registry IP: @ViewData["REGISTRYIP"]   Registry Region: @ViewData["REGION"]
الآن بعد أن قمت بتحديث تطبيق الويب، قم بإعادة إنشاء صورة حاويته. كما كان الحال من قبل، استخدم اسم الصورة المُؤهل بالكامل، بما في ذلك اسم المجال المُؤهل بالكامل لخادم تسجيل الدخول (FQDN)، للعلامة:
docker build . -f ./AcrHelloworld/Dockerfile -t  .azurecr.io/acr-helloworld:v1
ادفع الصورة إلى Azure Container Registry
بعد ذلك، ادفع صورة حاوية ⁧⁩acr-helloworld⁧⁩ المُحدّثة إلى سجلك المنسوخ جغرافيًا. وهنا، عليك تنفيذ أمر ⁧docker push⁩ واحد لنشر الصورة المُحدّثة إلى النسخ المتماثلة للسجل في كل من منطقتي ⁧⁩غرب الولايات المتحدة⁧⁩ ⁧⁩وشرق الولايات المتحدة⁧⁩.
يجب أن يكون إخراج ⁧docker push⁩ مشابهًا لما يلي:
$ docker push uniqueregistryname.azurecr.io/acr-helloworld:v1 The push refers to a repository [uniqueregistryname.azurecr.io/acr-helloworld] 5b9454e91555: Pushed d6803756744a: Layer already exists b7b1f3a15779: Layer already exists a89567dff12d: Layer already exists 59c7b561ff56: Layer already exists 9a2f9413d9e4: Layer already exists a75caa09eb1f: Layer already exists v1: digest: sha256:4c3f2211569346fbe2d1006c18cbea2a4a9dcc1eb3a078608cef70d3a186ec7a size: 1792
عرض سجلات خطافات الويب
في أثناء النسخ المتماثل للصورة، يمكنك ملاحظة بدء تشغيل خطافات الويب لـ Azure Container Registry.
لمشاهدة خطافات الويب الإقليمية التي تم إنشاؤها عند نشر الحاوية إلى ⁧⁩تطبيقات الويب للحاويات⁧⁩ في برنامج تعليمي سابق، انتقل إلى سجل الحاوية في مدخل Azure، ثم حدِّد ⁧⁩خطافات الويب⁧⁩ ضمن ⁧⁩الخدمات⁧⁩.
حدِّد كلاً من خطافات الويب للاطلاع على سجل الاستدعاءات والاستجابات به. يجب أن ترى صفًا لإجراء ⁧⁩الدفع⁧⁩ في سجلات كل من خطافي الويب. هنا، يُظهِر سجل خطاف الويب الموجود في منطقة ⁧⁩غرب الولايات المتحدة⁧⁩ إجراء ⁧⁩الدفع⁧⁩ الذي تم تشغيله من خلال ⁧docker push⁩ في الخطوة السابقة:
عرض تطبيق الويب المُحدّث
تعمل خطافات الويب على إخطار تطبيقات الويب بأنه تم دفع صورة جديدة إلى السجل، والذي يقوم تلقائيًا بنشر الحاوية المُحدّثة إلى تطبيقي الويب الإقليميين.
تحقّق من تحديث التطبيق في كل من عمليتي النشر؛ عن طريق التنقل إلى كل من عمليتي نشر تطبيقات الويب الإقليمية في مستعرض ويب.⁧ ⁩، وكتذكير، يمكنك العثور على عنوان URL لتطبيق الويب المنشور في أعلى يمين علامة تبويب النظرة العامة لكل خدمة من خدمات التطبيقات.
للاطّلاع على التطبيق المُحدّث، حدِّد الرابط في النظرة العامة حول خدمة التطبيق. إليك مثال لعرض تطبيق يعمل في ⁧⁩غرب الولايات المتحدة⁧⁩:
تحقّق من أن صورة الحاوية المُحدّثة تم نشرها أيضًا في عملية نشر ⁧⁩شرق الولايات المتحدة⁧⁩ من خلال عرضها في المستعرض لديك.
باستخدام ⁧docker push⁩ واحد، أجريت التحديث التلقائي لتطبيق الويب الذي يعمل في كل من عمليتي النشر الإقليمي لتطبيقات الويب. وقد خدم Azure Container Registry صور الحاويات من المستودعات الموجودة في أقرب موقع لكلٍ من عمليات النشر.
في هذا البرنامج التعليمي، قمت بتحديث ودفع نسخة جديدة من حاوية تطبيق الويب إلى سجلك المنسوخ جغرافيًا. وعملت خطافات الويب في Azure Container Registry على إخطار تطبيقات الويب للحاويات بالتحديث، مما أدى إلى سحب محلي من أقرب نسخة متماثلة في السجل.
ACR Build: الإنشاء والتصحيح المُؤتمت للصور
بالإضافة إلى النسخ المتماثل الجغرافي، يُعد ACR Build ميزةً أخرى من Azure Container Registry، والتي يمكن أن تساعد في تحسين تدفق نشر الحاويات لديك. ابدأ بنظرة عامة حول ACR Build للاطّلاع بشكل عام على إمكانياته: