Memasang volume emptyDir di Azure Container Instances

Pelajari cara memasang volume emptyDir untuk berbagi data antara kontainer dalam grup kontainer di Azure Container Instances. Menggunakan volume emptyDir sebagai cache sementara untuk beban kerja kontainer Anda.

Catatan

Memasang volume emptyDir saat ini dibatasi untuk kontainer Linux. Saat kita sedang berupaya untuk membawa semua fitur ke kontainer Windows, Anda dapat menemukan perbedaan platform saat ini dalam ikhtisar.

Volume emptyDir

Volume emptyDir menyediakan direktori dapat ditulis yang dapat diakses oleh setiap kontainer dalam grup kontainer. Kontainer dalam grup dapat membaca dan menulis file yang sama dalam volume, dan dapat dipasang menggunakan jalur yang sama atau berbeda di setiap kontainer.

Beberapa contoh digunakan untuk volume emptyDir:

  • Ruang awal
  • Titik pemeriksaan selama tugas yang berjalan lama
  • Menyimpan data yang diambil oleh kontainer sidecar dan dilayani oleh kontainer aplikasi

Data dalam volume emptyDir yang dipertahankan melalui kontainer mengalami crash. Kontainer yang dimulai ulang, namun tidak menjamin data dipertahankan dalam volume emptyDir. Jika Anda menghentikan grup kontainer, volume emptyDir tidak akan dipertahankan.

Ukuran maksimum volume emptyDir linux adalah 50 GB.

Memasang volume emptyDir

Untuk memasang volume emptyDir dalam instans kontainer, Anda dapat menyebarkan menggunakan templat Azure Resource Manager, sebuah file YAML, atau metode terprogram lainnya untuk menyebarkan grup kontainer.

Pertama, isi array volumes di bagian properties grup kontainer dari file. Selanjutnya, untuk setiap kontainer dalam grup kontainer di mana Anda ingin memasang volume emptyDir, isi array volumeMounts di bagian properties definisi kontainer.

Misalnya, templat Resource Manager berikut membuat grup kontainer yang terdiri dari dua kontainer, masing-masing memasang volume 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": {}
          }
        ]
      }
    }
  ]
}

Untuk melihat contoh penyebaran grup kontainer, lihat Menyebarkan grup multi-kontainer menggunakan templat Resource Manager, dan Menyebarkan grup multi-kontainer menggunakan file YAML.

Langkah berikutnya

Pelajari cara memasang jenis volume lainnya di Azure Container Instances: