بداية سريعة: نشر مثيل حاوية في Azure باستخدام CLI Docker
استخدام Azure Container Instances لتشغيل حاويات Docker بدون خادم في Azure ببساطة وبسرعة. النشر إلى حاوية افتراضية عند الطلب عند تطوير تطبيقات السحابة الأصلية والتبديل بسلاسة من التطوير المحلي إلى النشر السحابي.
في هذه البداية السريعة، يمكنك استخدام أوامر Docker CLI الأصلية لنشر حاوية Docker وجعل تطبيقها متوفراً في مثيلات حاوية Azure. يتيح التكامل بين Docker وAzure هذه الإمكانية. بعد بضع ثوانٍ من تنفيذ docker run
أمر، يمكنك التصفح وصولاً إلى التطبيق الذي يُشغل في الحاوية:
في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
لهذه البداية السريعة، يلزم الإصدار 2.3.0.5 من Docker Desktop أو إصدار أحدث، والمتوفر لنظام التشغيل Windows أو macOS. أو تثبيت Docker ACI Integration CLI for Linux.
هام
لا يدعم كافة ميزات حاويات Azure الافتراضية. تقديم ملاحظات حول تكامل Docker-Azure بإنشاء مشكلة في مستودع aci-integration-beta GitHub.
أنشئ سياقاً خاصّاً بـ Azure.
لا تستخدم أوامر Docker لتشغيل Azure Container Instances، سجل الدخول أولاً إلي Azure:
docker login azure --tenant-id "[tenant ID]"
للعثور على معرف المستأجر، استعرض للوصول إلى خصائص معرف Microsoft Entra.
عند مطالبتك بإدخال Azure credentials أو تحديدها.
إنشاء سياق ACI عن طريق تشغيلdocker context create aci
. يربط هذا السياق Docker من خلال الاشتراك في Azure ومجموعة الموارد بحيث يمكنك إنشاء container instances وإدارتها. على سبيل المثال، لإنشاء سياق يسمى myacicontext:
docker context create aci myacicontext
عند مطالبتك بتحديد معرف اشتراك Azure، ثم حدد مجموعة الموارد القائمة أو أنشئ مجموعة موارد جديدة. إذا اخترت مجموعة موارد جديدة، يكون لها اسم تم إنشاؤه بواسطة النظام عند الإنشاء. يجب توزيع container instances مثل الموارد الخاصة بـ Azure على مجموعة الموارد. تسمح لك مجموعات الموارد بتنظيم وإدارة موارد Azure ذات الصلة.
تشغيل docker context ls
للتأكد من إضافة سياق ACI إلى سياقات Docker الخاص بك:
docker context ls
إنشاء حاوية
بعد إنشاء سياق Docker، يمكنك إنشاء حاوية في Azure. في هذه البداية السريعة، يمكن استخدام صورة mcr.microsoft.com/azuredocs/aci-helloworld
العامة. تعمل هذه الصورة على حزم تطبيق ويب صغير مكتوب بلغة Node.js لصفحة HTML ثابتة.
أولاً، التغيير إلى سياق ACI. يتم تشغيل جميع أوامر Docker اللاحقة في هذا السياق.
docker context use myacicontext
تشغيل الأمر التالي docker run
لإنشاء حاوية Azure الافتراضية مع عرض المنفذ 80 للإنترنت:
docker run -p 80:80 mcr.microsoft.com/azuredocs/aci-helloworld
نموذج إخراج للنشر الناجح:
[+] Running 2/2
⠿ hungry-kirch Created 5.1s
⠿ single--container--aci Done 11.3s
hungry-kirch
تشغيل docker ps
للحصول على تفاصيل حول الحاوية قيد التشغيل، بما في ذلك عنوان IP العام:
docker ps
يُظهر نموذج الإخراج عنوان IP عام، في هذه الحالة 52.230.225.232 :
CONTAINER ID IMAGE COMMAND STATUS PORTS
hungry-kirch mcr.microsoft.com/azuredocs/aci-helloworld Running 52.230.225.232:80->80/tcp
الانتقال الآن إلى عنوان IP في متصفحك. إذا كانت رؤية صفحة ويب مشابهة لما يلي، فتهانينا! لقد نجحت في نشر تطبيق يعمل في حاوية Docker إلى Azure.
اسحب سجلات الحاوية
عندما تحتاج إلى استكشاف أخطاء حاوية أو التطبيق الذي يتم تشغيله وإصلاحها (أو مجرد الاطلاع على ناتجها)، ابدأ بعرض سجلات مثيل الحاوية.
على سبيل المثال، تشغيل الأمر docker logs
لمشاهدة سجلات الحاوية hungry-kirch في سياق ACI:
docker logs hungry-kirch
يعرض الإخراج سجلات الحاوية، ويجب أن يُظهر طلبات HTTP GET التي تم إنشاؤها عند عرض التطبيق في متصفحك.
listening on port 80
::ffff:10.240.255.55 - - [07/Jul/2020:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
تنظيف الموارد
عند الانتهاء من الحاوية، يمكن تشغيل docker rm
للإزالة. يوقف هذا الأمر وتُحذف حاوية Azure الافتراضية.
docker rm hungry-kirch
الخطوات التالية
في هذه البداية السريعة، أنشأت مثيل حاوية Azure من صورة عامة باستخدام التكامل بين Docker وAzure. التعرف على المزيد حول سيناريوهات التكامل في وثائق Docker .
يمكن أيضاً استخدام ملحق Docker لـ Visual Studio Code للحصول على تجربة متكاملة لتطوير وتشغيل وإدارة الحاويات والصور والسياقات.
لاستخدام أدوات Azure لإنشاء مثيلات الحاوية وإدارتها، يرجى الرجوع للخطوات السريعة الأخرى باستخدام Azure CLI و Azure PowerShell و مدخل Azure و نموذجAzure Resource Manager.
عند الرغبة في استخدام Docker Compose لتعريف تطبيق متعدد الحاويات محلياً وتشغيله ومن ثم التبديل إلى Azure Container Instances، يجب المتابعة إلى البرنامج التعليمي.