في مجال تطوير البرمجيات، يبدو أنه بغض النظر عن المكان الذي تذهب إليه، وبغض النظر عمن تتحدث إليه، فإن الحاويات هي الوضع الطبيعي الجديد. إذا لم تكن تقوم بتطويرها أو ترحيل تطبيقك بالفعل، فأنت تقوم بإنشاء أنظمة دعم تستخدمها لدعم تطبيق قديم. الحاويات في كل مكان.
ومع ذلك، هذا يعني أنه كمهندس، سوف تحتاج إلى وضع الحاويات الخاصة بك في مكان ما. في الماضي، كان هذا يعني بناء قطعة أثرية من نوع ما، سواء كانت ثنائية أو أرشيفية، ثم كتابتها على قرص أو مشاركة ملف وتوزيعها. في النظام البيئي للحاوية، سيكون بمثابة سجل حاوية، وستكون العناصر التي تقوم بإنشائها عبارة عن صور حاوية.
من الناحية المثالية، سيكون سجل الحاوية في مكان آمن يمكنه أتمتة بعض الأعمال نيابةً عنك، مثل فحص الحاوية وإطلاق الإجراءات عند كل التزام أو وفقًا لجدول زمني. لحسن الحظ، قامت Azure بتغطية كل ما سبق من خلال Azure Container Registry، أو ACR للاختصار.
المتطلبات الأساسية
للمتابعة، ستحتاج إلى ما يلي:
- حساب أزور
- حاوية للدفع والسحب من المستودع
- (اختياري) محطة PowerShell التي تمت مصادقتها على Azure أو مثيل CloudShell
لا يجب أن تكون الحاوية أكثر من
hello-world
لأن هذا برنامج تعليمي حول سجلات الحاويات، وليس الحاويات نفسها. إذا لم تكن على دراية بـ Docker أو الحاويات، فيمكنك معرفة المزيد عنها هنا.
إنشاء السجل
أول شيء عليك القيام به هو إنشاء سجل، أولاً باستخدام Azure Portal، ثم استخدام Azure PowerShell.
استخدام البوابة
انتقل إلى “إنشاء مورد”، ثم ابحث ضمن “الحاويات” > “سجل الحاويات”.
ستتم مطالبتك بعد ذلك بملء بعض المعلومات حول حساب التخزين والاشتراك الذي تريد وضع السجل فيه. ومن أفضل الممارسات وضع السجل في نفس المنطقة التي ستنشر الحاويات فيها.
بمجرد توفيره، انتقل إلى صفحة الموارد وابحث عن علامة التبويب “مفاتيح الوصول”. من هنا، تأكد من تمكين خيار “Admin User” حتى تتمكن من تسجيل الدخول باستخدام CLI لاحقًا.
باستخدام أزور بوويرشيل
باستخدام Azure PowerShell، يتم ذلك من خلال سطر واحد، إما على مثيل CloudShell أو وحدة تحكم PowerShell مصادق عليها محليًا مع تثبيت وحدة Azure PowerShell.
New-AzContainerRegistry -ResourceGroupName <Resource Group Name> -Name <Registry Name> -EnableAdminUser
يمكنك بعد ذلك استخدام
Get-AzContainerRegistry
cmdlet لسرد السجلات المرتبطة بالمستأجر الخاص بك. ستظل بحاجة إلى خاصية LoginServer لدفع صورتك إلى السجل، ولكن يمكنك سحبها من Azure PowerShell الموضح في بقية العرض التوضيحي.
طالما قمت بتضمين
-EnableAdminUser
العلم، ستتمكن أيضًا من استخدام
Get-AzContainerRegistryCredential
cmdlet للحصول على بيانات اعتماد تسجيل الدخول للخطوة التالية.
دفع الصورة إلى ACR
الآن بعد أن تم إعداد السجل والمستخدم الخاص به، فقد حان الوقت لتسجيل الدخول ودفع الصورة إليه. يمكنك تسجيل الدخول باستخدام
docker login
يأمر. إذا كنت تستخدم برنامجًا نصيًا، فتأكد من عدم عرض بيانات الاعتماد بنص عادي، عن طريق تمريرها بهذه الطريقة، أو باستخدام Azure Key Vault.
$RG_NAME = <Resource_Group_Name>
$ACR_NAME = <Registry_Name>
$registry = Get-AzContainerRegistry -ResourceGroupName $RG_NAME -Name $ACR_NAME
$creds = Get-AzContainerRegistryCredential -Registry $registry
$creds.Password | docker login $registry.LoginServer -u $creds.Username --password-stdin
إذا كنت تفعل ذلك يدويًا، فما عليك سوى التشغيل docker login
واستبدال ” “بالقيمة من “Login Server” ضمن علامة التبويب Access Keys (مفاتيح الوصول) السابقة، ثم اسم المستخدم وكلمة المرور للمسؤول.
الآن بعد أن قمت بتسجيل الدخول، يمكنك دفع وسحب صور الحاوية من المستودع بقدر ما تريد. بمجرد الانتهاء من بناء أو سحب حاوية محليًا، استخدم docker tag
لإضافة عنوان URL للتسجيل وعلامة الإصدار إلى الصورة، ثم ملف docker push
الأمر لدفعه إلى ACR. يجب أن يبدو مثل هذا:
docker tag <Image_Name> <Registry_URL>/<Image_Name>:<Version_Tag>
docker push <Registry_URL>/<Image_Name>:<Version_Tag>
مع الصورة في ACR، يمكنك استخدام docker pull
من أي جهاز معتمد لسحب الصورة للأسفل وتشغيلها.
ملخص
الآن، يجب أن تكون على دراية بكيفية إعداد سجل في ACR باستخدام بوابة Azure أو Azure PowerShell، بالإضافة إلى كيفية دفع وسحب الحاويات منه.
من هنا، يمكنك النظر في تمكين فحص الثغرات الأمنية في الحاوية باستخدام مركز أزور الأمني أو الأتمتة باستخدام مهام ACR.
(العلامات للترجمة)سحابة(ر)مايكروسوفت