البرنامج التعليمي: إنشاء صور حاوية على نظام مجموعة Linux Service Fabric
هذا البرنامج التعليمي هو جزء من سلسلة توضح كيفية استخدام الحاويات في نظام مجموعة Linux Service Fabric. في هذا البرنامج التعليمي، يتم إعداد تطبيق متعدد الحاويات للاستخدام مع Service Fabric. في البرامج التعليمية اللاحقة، يتم استخدام هذه الصور كجزء من تطبيق Service Fabric. في هذا البرنامج التعليمي، ستتعلم كيفية:
- استنساخ مصدر التطبيق من GitHub
- إنشاء صورة الحاوية من مصدر التطبيق
- نشر مثيل Azure Container Registry (ACR)
- وضع علامة على صورة حاوية لـ ACR
- تحميل الصورة إلى ACR
ستتعلم في سلسلة البرامج التعليمية هذه كيفية:
- إنشاء صور حاوية لـ Service Fabric
- إنشاء وتشغيل تطبيق Service Fabric مع حاويات
- كيفية معالجة تجاوز الفشل وتغيير الحجم في Service Fabric
المتطلبات الأساسية
- إعداد بيئة تطوير Linux لـ Service Fabric. اتبع التعليمات هنا لإعداد بيئة Linux الخاصة بك.
- يتطلب هذا البرنامج التعليمي تشغيل الإصدار 2.0.4 من Azure CLI أو إصدار أحدث. قم بتشغيل
az --version
للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أوالترقية، فراجع تثبيت Azure CLI. - بالإضافة إلى ذلك، يتطلب أن يتوفر لديك اشتراك Azure. لمزيد من المعلومات حول الإصدار التجريبي المجاني، انتقل هنا.
الحصول على التعليمة البرمجية للتطبيق
نموذج التطبيق المستخدم في هذا البرنامج التعليمي هو تطبيق تصويت. يتكون التطبيق من مكون ويب أمامي ومثيل Redis خلفي. تتم تعبئة المكونات في صور حاوية.
استخدم git لتنزيل نسخة من التطبيق إلى بيئة التطوير الخاصة بك.
git clone https://github.com/Azure-Samples/service-fabric-containers.git
cd service-fabric-containers/Linux/container-tutorial/
يحتوي الحل على مجلدين وملف 'docker-compose.yml'. يحتوي مجلد 'azure-vote' على خدمة الواجهة الأمامية لـ Python إلى جانب Dockerfile المُستخدم لبناء الصورة. يحتوي الدليل 'Voting' على حزمة تطبيق Service Fabric التي تم نشرها في نظام المجموعة. تحتوي هذه الدلائل على الأصول اللازمة لهذا البرنامج التعليمي.
إنشاء صور الحاوية
داخل الدليل azure-votes، قم بتشغيل الأمر التالي لإنشاء صورة لمكون الويب للواجهة الأمامية. يستخدم هذا الأمر Dockerfile في هذا الدليل لإنشاء الصورة.
docker build -t azure-vote-front .
ملاحظة
إذا تم رفض الإذن، فاتبع هذه الوثائق حول كيفية العمل مع docker دون sudo.
قد يستغرق هذا الأمر بعض الوقت نظراً للحاجة إلى سحب التبعيات الضرورية من Docker Hub. عند الانتهاء، استخدم الأمر docker images لرؤية الصورة azure-vote-front التي قمت بإنشائها للتو.
docker images
نشر سجل حاويات Azure
قم بتشغيل الأمر az login أولاً لتسجيل الدخول إلى حساب Azure الخاص بك.
az login
بعد ذلك، استخدم الأمر az account لاختيار اشتراكك لإنشاء سجل Azure Container. يجب عليك إدخال معرف الاشتراك الخاص باشتراك Azure الخاص بك بدلاً من <subscription_id>.
az account set --subscription <subscription_id>
عند نشر Azure Container Registry، تحتاج أولاً إلى مجموعة موارد. مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها.
أنشئ مجموعة موارد باستخدام الأمر az group create. في هذا المثال، يتم إنشاء مجموعة موارد تسمى myResourceGroup في المنطقة westus.
az group create --name <myResourceGroup> --location westus
قم بإنشاء سجل Azure Container باستخدام الأمر az acr create. استبدل <acrName> باسم سجل الحاوية الذي تريد إنشاءه ضمن اشتراكك. يجب أن يكون هذا الاسم أبجدياً رقمياً وفريداً.
az acr create --resource-group <myResourceGroup> --name <acrName> --sku Basic --admin-enabled true
خلال بقية هذا البرنامج التعليمي، نستخدم "acrName" كعنصر نائب لاسم سجل الحاوية الذي اخترته. يرجى تدوين هذه القيمة.
قم بتسجيل الدخول إلى سجل الحاوية الخاص بك
قم بتسجيل الدخول إلى مثيل ACR الخاص بك قبل دفع الصور إليه. استخدم الأمر az acr login لإكمال العملية. أدخل الاسم الفريد الممنوح لسجل الحاوية عند إنشائه.
az acr login --name <acrName>
يقوم الأمر بإرجاع رسالة "Login Succeeded" بمجرد اكتماله.
ضع علامة على صور الحاوية
يجب وضع علامة على كل صورة حاوية باسم loginServer للسجل. يتم استخدام هذه العلامة للتوجيه عند دفع صور الحاوية إلى سجل الصور.
لمشاهدة قائمة بالصور الحالية، استخدم الأمر docker images.
docker images
المخرجات:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 052c549a75bf About a minute ago 913MB
للحصول على اسم loginServer، قم بتشغيل الأمر التالي:
az acr show --name <acrName> --query loginServer --output table
يؤدي هذا إلى إخراج جدول بالنتائج التالية. سيتم استخدام هذه النتيجة لوضع علامة على الصورة azure-vote-front قبل دفعها إلى سجل الحاوية في الخطوة التالية.
Result
------------------
<acrName>.azurecr.io
الآن، ضع علامة على الصورة azure-vote-front باستخدام loginServer لسجل الحاوية الخاص بك. أضف :v1
أيضاً إلى نهاية اسم الصورة. تشير هذه العلامة إلى إصدار الصورة.
docker tag azure-vote-front <acrName>.azurecr.io/azure-vote-front:v1
بمجرد وضع علامة، قم بتشغيل "docker images" للتحقق من العملية.
المخرجات:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 052c549a75bf 23 minutes ago 913MB
<acrName>.azurecr.io/azure-vote-front v1 052c549a75bf 23 minutes ago 913MB
ادفع الصورة إلى السجل
ادفع الصورة azure-vote-front إلى السجل.
باستخدام المثال التالي، استبدال اسم loginServer لـ ACR بـ loginServer من البيئة الخاصة بك.
docker push <acrName>.azurecr.io/azure-vote-front:v1
تستغرق أوامر دفع docker بضع دقائق حتى تكتمل.
سرد الصور في السجل
لإرجاع قائمة من الصور التي تم دفعها إلى سجل Azure Container، استخدم الأمر az acr repository list. تحديث الأمر باسم مثيل ACR.
az acr repository list --name <acrName> --output table
المخرجات:
Result
----------------
azure-vote-front
عند اكتمال البرنامج التعليمي، يتم تخزين صورة الحاوية في مثيل Azure Container Registry خاص. يتم نشر هذه الصورة من ACR إلى نظام مجموعة Service Fabric في البرامج التعليمية اللاحقة.
الخطوات التالية
في هذا البرنامج التعليمي، تم سحب تطبيق من GitHub وتم إنشاء صور حاوية ودفعها إلى السجل. اكتمال الخطوات التالية:
- استنساخ مصدر التطبيق من GitHub
- إنشاء صورة الحاوية من مصدر التطبيق
- نشر مثيل Azure Container Registry (ACR)
- وضع علامة على صورة حاوية لـ ACR
- تحميل الصورة إلى ACR
تقدم إلى البرنامج التعليمي التالي للتعرف على حاويات التغليف في تطبيق Service Fabric باستخدام Yeoman.