تحميل وحدة تخزين emptyDir في مثيلات حاوية Azure

تعرف على كيفية تحميل وحدة تخزين emptyDir لمشاركة البيانات بين الحاويات في مجموعة حاويات في مثيلات حاوية Azure. استخدم وحدات التخزين emptyDir كذاكرة تخزين مؤقتة لأحمال العمل المخزنة في الحاوية.

ملاحظة

يقتصر تركيب وحدة تخزين emptyDir حالياً على حاويات Linux. في حين أننا نعمل على جلب جميع الميزات إلى حاويات Windows، يمكنك العثور على اختلافات النظام الأساسي الحالية في النظرة العامة.

وحدة تخزين emptyDir

توفر وحدة التخزين emptyDir دليلاً قابلاً للكتابة وقابلاً للوصول إلى كل حاوية في مجموعة حاويات. يمكن للحاويات الموجودة في المجموعة قراءة نفس الملفات وكتابتها في وحدة التخزين، ويمكن تحميلها باستخدام نفس المسارات أو مسارات مختلفة في كل حاوية.

يستخدم مثال لوحدة تخزين emptyDir:

  • مساحة الصفر
  • نقاط التفتيش أثناء المهام طويلة الأمد
  • تخزين البيانات التي تم استردادها بواسطة حاوية جانبية وخدمتها بواسطة حاوية تطبيق

يتم استمرار البيانات في وحدة تخزين emptyDir خلال تعطل الحاوية. الحاويات التي يتم إعادة تشغيلها، ولكنها غير مضمونة لاستمرار البيانات في وحدة تخزين emptyDir. إذا قمت بإيقاف مجموعة حاويات، لا يتم استمرار وحدة التخزين emptyDir.

الحد الأقصى لحجم وحدة تخزين Linux emptyDir هو 50 جيجابايت.

تحميل وحدة تخزين emptyDir

لتحميل وحدة تخزين emptyDir في مثيل حاوية، يمكنك التوزيع باستخدام قالب Azure Resource Manager أو ملف YAMLأو أساليب برمجية أخرى لنشر مجموعة حاويات.

أولاً، قم بتعبئة volumes الصفيف في قسم مجموعة الحاوية properties من الملف. بعد ذلك، لكل حاوية في مجموعة الحاوية التي تريد تحميل وحدة التخزين emptyDir فيها، قم بتعبئة الصفيف volumeMounts في القسم properties من تعريف الحاوية.

على سبيل المثال، ينشئ قالب Resource Manager التالي مجموعة حاويات تتكون من حاويتين كل منها تقوم بتحميل وحدة التخزين emptyDir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "container1name": "aci-tutorial-app",
    "container1image": "mcr.microsoft.com/azuredocs/aci-helloworld:latest",
    "container2name": "aci-tutorial-sidecar",
    "container2image": "mcr.microsoft.com/azuredocs/aci-tutorial-sidecar"
  },
  "resources": [
    {
      "type": "Microsoft.ContainerInstance/containerGroups",
      "apiVersion": "2021-03-01",
      "name": "volume-demo-emptydir",
      "location": "[resourceGroup().location]",
      "properties": {
        "containers": [
          {
            "name": "[variables('container1name')]",
            "properties": {
              "image": "[variables('container1image')]",
              "resources": {
                "requests": {
                  "cpu": 1,
                  "memoryInGb": 1.5
                }
              },
              "ports": [
                {
                  "port": 80
                }
              ],
              "volumeMounts": [
                {
                  "name": "emptydir1",
                  "mountPath": "/mnt/empty"
                }
              ]
            }
          },
          {
            "name": "[variables('container2name')]",
            "properties": {
              "image": "[variables('container2image')]",
              "resources": {
                "requests": {
                  "cpu": 1,
                  "memoryInGb": 1.5
                }
              },
              "volumeMounts": [
                {
                  "name": "emptydir1",
                  "mountPath": "/mnt/empty"
                }
              ]
            }
          }
        ],
        "osType": "Linux",
        "ipAddress": {
          "type": "Public",
          "ports": [
            {
              "protocol": "tcp",
              "port": "80"
            }
          ]
        },
        "volumes": [
          {
            "name": "emptydir1",
            "emptyDir": {}
          }
        ]
      }
    }
  ]
}

لمشاهدة أمثلة على توزيع مجموعة حاويات، راجع توزيع مجموعة متعددة الحاويات باستخدام قالب Resource Manager وتوزيع مجموعة متعددة الحاويات باستخدام ملف YAML.

الخطوات التالية

تعرف على كيفية تحميل أنواع وحدات التخزين الأخرى في مثيلات حاوية Microsoft Azure: