تمرين – التحكم في سلوك إعادة تشغيل
سهولة وسرعة نشر الحاويات في Azure Container Instances يجعلها مناسبة جدًا لتنفيذ المهام لمرة واحدة، مثل عرض صورة أو بناء واختبار التطبيقات.
مع نهج إعادة التشغيل القابل للتكوين، يمكنك تحديد إيقاف الحاويات عند اكتمال عملياتها. ولأن مثيلات الحاوية تتم فوترتها لكل ثانية، يتم تحميلك رسومًا فقط على موارد الحوسبة المستخدمة في أثناء تشغيل الحاوية التي تنفذ المهمة.
ما هي نُهج إعادة تشغيل الحاوية؟
Azure Container Instances لها ثلاثة خيارات لنهج إعادة التشغيل:
| نهج إعادة تشغيل | الوصف |
|---|---|
| دائمًا | دائمًا ما تتم إعادة تشغيل الحاويات في مجموعة الحاويات. وهذه السياسة تكون منطقية للمهام التي يتم تشغيلها لفترة طويلة مثل خادم ويب. هذا هو الإعداد الافتراضي المطبق في حالة عدم تحديد سياسة إعادة التشغيل عند إنشاء الحاوية. |
| أبدًا | لا تتم إعادة تشغيل الحاويات في مجموعة الحاويات أبدًا. حيث تعمل الحاويات لمرة واحدة فقط. |
| عند الفشل | تتم إعادة تشغيل حاويات في مجموعة الحاويات فقط عند فشل العملية المنفذة في الحاوية (في حالة انتهائها مع تعليمة برمجية للخروج غير صفرية). يتم تشغيل الحاويات مرة واحدة على الأقل. يعمل هذا النهج بشكل جيد للحاويات التي تُشغل مهام قصيرة الأجل. |
تشغيل حاوية حتى الاكتمال
لمشاهدة نهج إعادة التشغيل على أرض الواقع، قم بإنشاء مثيل حاوية من صورة حاوية azuredocs/aci-wordcount وتحديد نهج إعادة التشغيل OnFailure. تدير هذه الحاوية البرنامج النصي Python الذي يحلل نص هاملت لشكسبير، ويكتب الكلمات العشر الأكثر شيوعًا إلى الإخراج القياسي، ثم يخرج.
شغل هذا الأمر
az container createلبدء تشغيل الحاوية.az container create \ --resource-group learn-deploy-aci-rg \ --name mycontainer-restart-demo \ --image mcr.microsoft.com/azuredocs/aci-wordcount:latest \ --restart-policy OnFailure \ --location eastusAzure Container Instances تبدأ الحاوية ثم توقفها عند خروج العملية (في هذه الحالة البرنامج نصي). عند إيقاف Azure Container Instances لحاوية يكون نهج إعادة التشغيل الخاص بها هو Never أو OnFailure، يتم تعيين حالة الحاوية إلى Terminated.
شغل
az container show للتحقق من حالة الحاوية.az container show \ --resource-group learn-deploy-aci-rg \ --name mycontainer-restart-demo \ --query "containers[0].instanceView.currentState.state"كرر الأمر حتى يصل إلى حالة Terminated.
استعرض سجلات الحاوية لفحص المخرجات. وللقيام بذلك، شغل
az container logs بهذه الطريقة.az container logs \ --resource-group learn-deploy-aci-rg \ --name mycontainer-restart-demoسترى هذا.
[('the', 990), ('and', 702), ('of', 628), ('to', 610), ('I', 544), ('you', 495), ('a', 453), ('my', 441), ('in', 399), ('HAMLET', 386)]
هل تحتاج إلى مساعدة؟ راجع دليل استكشاف الأخطاء وإصلاحها الذي نقدمه أو يمكنك توفير ملاحظات معينة عبر الإبلاغ عن مشكلة.