التمرين - استخدام وحدات تخزين البيانات
بشكل افتراضي، تكون 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، تحتاج إلى هذه القيم الثلاثة:
- Storage account name
- اسم المشاركة
- مفتاح الوصول لحساب التخزين
وأنت لديك بالفعل أول قيمتين. يتم تخزين اسم حساب التخزين في STORAGE_ACCOUNT_NAME
متغير Bash. لقد حددت 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
للحصول على عنوان IP العام للحاوية: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
لتنزيل ملف إلى جلسة عمل Cloud Shell. استبدل <filename> بأحد الملفات التي ظهرت في الخطوة السابقة:az storage file download -s aci-share-demo -p <filename>
cat
قم بتشغيل الأمر لطباعة محتويات الملف.cat <filename>
تذكر أن البيانات الخاصة بك تستمر عند إنهاء الحاوية. يمكنك تحميل مشاركة الملف إلى مثيلات حاوية أخرى لجعل تلك البيانات متوفرة لهم.