Azure Container Instances'da emptyDir birimi bağlama

Azure Container Instances'da bir kapsayıcı grubundaki kapsayıcılar arasında veri paylaşmak için emptyDir birimi bağlamayı öğrenin. Kapsayıcılı iş yükleriniz için kısa ömürlü önbellekler olarak emptyDir birimlerini kullanın.

Not

emptyDir birimi bağlama işlemi şu anda Linux kapsayıcıları ile sınırlıdır. Tüm özellikleri Windows kapsayıcılara taşımaya çalışırken, genel bakış bölümünde geçerli platform farklarını bulabilirsiniz.

emptyDir birimi

emptyDir birimi, bir kapsayıcı grubundaki her kapsayıcı için erişilebilir yazılabilir bir dizin sağlar. Gruptaki kapsayıcılar birimdeki aynı dosyaları okuyabilir ve yazabilir ve her kapsayıcıda aynı veya farklı yollar kullanılarak bağlanabilir.

Bazı örneklerde emptyDir birimi için kullanılır:

  • Karalama alanı
  • Uzun süre çalışan görevler sırasında denetim noktası oluşturma
  • Sepet kapsayıcısı tarafından alınan ve uygulama kapsayıcısı tarafından sunulan verileri depolama

Boş bir Birimde bulunan veriler kapsayıcı kilitlenmeleri yoluyla kalıcı hale geliyor. Ancak, yeniden başlatılan kapsayıcıların verileri boş birDir biriminde kalıcı hale getirmek garanti değildir. Bir kapsayıcı grubunu durdurursanız emptyDir birimi kalıcı olmaz.

Linux emptyDir biriminin boyut üst sınırı 50 GB'tır.

emptyDir birimini bağlama

Bir kapsayıcı örneğine emptyDir birimi bağlamak için Azure Resource Manager şablonu, YAML dosyası veya kapsayıcı grubunu dağıtmak için diğer programlı yöntemleri kullanarak dağıtabilirsiniz.

İlk olarak, dosyanın kapsayıcı grubu properties bölümündeki diziyi doldurunvolumes. Ardından, emptyDir birimini bağlamak istediğiniz kapsayıcı grubundaki her kapsayıcı için, kapsayıcı tanımının properties bölümündeki diziyi volumeMounts doldurun.

Örneğin, aşağıdaki Resource Manager şablonu, her biri emptyDir birimini takan iki kapsayıcıdan oluşan bir kapsayıcı grubu oluşturur:

{
  "$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": {}
          }
        ]
      }
    }
  ]
}

Kapsayıcı grubu dağıtımı örneklerini görmek için bkz. Resource Manager şablonu kullanarak çok kapsayıcılı grup dağıtma ve YAML dosyası kullanarak çok kapsayıcılı bir grup dağıtma.

Sonraki adımlar

Azure Container Instances diğer birim türlerini bağlamayı öğrenin: