التمرين - استخدام وحدات تخزين البيانات
بشكل افتراضي، تكون Azure Container Instances بدون حالة. فإذا تعطلت الحاوية أو توقفت، يتم فقدان الحالة بالكامل. للاحتفاظ بالحالة بما يتجاوز مدة بقاء الحاوية، يجب تحميل وحدة تخزين من مخزن خارجي.
هنا، ستقوم بتحميل مشاركة ملف Azure إلى مثيل حاوية Azure حتى تتمكن من تخزين البيانات والوصول إليها لاحقًا.
إنشاء مشاركة ملف Azure
ستنشئ هنا حساب تخزين ومشاركة ملف يمكنك الوصول إليه لاحقًا لمثيل حاوية Azure.
يتطلب حساب التخزين الخاص بك اسمًا فريدًا. وللأغراض التعليمية، قم بتشغيل الأمر التالي لتخزين اسم فريد في متغير Bash.
STORAGE_ACCOUNT_NAME=mystorageaccount$RANDOMشغل الأمر التالي
az storage account create لإنشاء حساب التخزين الخاص بك.az storage account create \ --resource-group learn-deploy-aci-rg \ --name $STORAGE_ACCOUNT_NAME \ --sku Standard_LRS \ --location eastusشغل الأمر التالي لوضع سلسلة اتصال حساب التخزين في متغير بيئة يسمى بـ
AZURE_STORAGE_CONNECTION_STRING.export AZURE_STORAGE_CONNECTION_STRING=$(az storage account show-connection-string \ --resource-group learn-deploy-aci-rg \ --name $STORAGE_ACCOUNT_NAME \ --output tsv)
AZURE_STORAGE_CONNECTION_STRING هو متغير بيئة خاص تفهمه Azure CLI. يتيح الجزء export إمكانية الوصول للمتغير من قبل أوامر CLI الأخرى التي ستقوم بتشغيلها قريبًا.شغل هذا الأمر لإنشاء مشاركة ملف باسم aci-share-demo، في حساب التخزين.
az storage share create --name aci-share-demo
الحصول على بيانات اعتماد التخزين
لتحميل مشاركة ملف Azure كوحدة تخزين في Azure Container Instances، تحتاج إلى هذه القيم الثلاثة:
- اسم حساب التخزين
- اسم المشاركة
- مفتاح الوصول لحساب التخزين
وأنت لديك بالفعل أول قيمتين. يتم تخزين اسم حساب التخزين في متغير Bash STORAGE_ACCOUNT_NAME. لقد قمت بتحديد aci-share-demo كاسم المشاركة في الخطوة السابقة. ستحصل هنا على القيمة المتبقية — مفتاح الوصول إلى حساب التخزين.
شغل الأمر التالي للحصول على مفتاح حساب التخزين.
STORAGE_KEY=$(az storage account keys list \ --resource-group learn-deploy-aci-rg \ --account-name $STORAGE_ACCOUNT_NAME \ --query "[0].value" \ --output tsv)يتم تخزين النتيجة في متغير Bash المسمى
STORAGE_KEY.كخطوة اختيارية، اطبع مفتاح التخزين إلى وحدة التحكم.
echo $STORAGE_KEY
شغل حاوية وحمل مشاركة الملف
لتحميل ملف مشاركة Azure كوحدة تخزين في حاوية، عليك تحديد نقطة تحميل وحدة التخزين والمشاركة عند إنشاء الحاوية.
شغل هذا
az container create الأمر لإنشاء حاوية يمكنها تحميل/aci/logs/إلى مشاركة الملف الخاص بك.az container create \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --image mcr.microsoft.com/azuredocs/aci-hellofiles \ --location eastus \ --ports 80 \ --ip-address Public \ --azure-file-volume-account-name $STORAGE_ACCOUNT_NAME \ --azure-file-volume-account-key $STORAGE_KEY \ --azure-file-volume-share-name aci-share-demo \ --azure-file-volume-mount-path /aci/logs/شغل
az container show للحصول على عنوان بروتوكول الإنترنت العام للحاوية.az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query ipAddress.ip \ --output tsvمن المتصفح، انتقل إلى عنوان بروتوكول الإنترنت الخاص بالحاوية. سترى هذا.
أدخل أي نص في النموذج، وحدد Submit. ينشئ هذا الإجراء ملفًا يحتوي على النص الذي أدخلته في مشاركة ملف Azure.
شغل هذا
az storage file list الأمر لعرض الملفات الموجودة في مشاركة الملف.az storage file list -s aci-share-demo -o tableشغل
az storage file download لتحميل ملف إلى جلسة عمل Shell Cloud. استبدل <filename> بأحد الملفات التي ظهرت في الخطوة السابقة.az storage file download -s aci-share-demo -p <filename>شغل الأمر
cat لطباعة محتويات الملف.cat <filename>
تذكر أن البيانات الخاصة بك تستمر عند إنهاء الحاوية. يمكنك تحميل مشاركة الملف إلى مثيلات حاوية أخرى لجعل تلك البيانات متوفرة لهم.
هل تحتاج إلى مساعدة؟ راجع دليل استكشاف الأخطاء وإصلاحها الذي نقدمه أو يمكنك توفير ملاحظات معينة عبر الإبلاغ عن مشكلة.