Delen via


Een emptyDir-volume koppelen in Azure Container Instances

Leer hoe u een leegDir-volume koppelt om gegevens te delen tussen de containers in een containergroep in Azure Container Instances. Gebruik emptyDir-volumes als tijdelijke caches voor uw containerwerkbelastingen.

Notitie

Het koppelen van een emptyDir-volume is momenteel alleen mogelijk voor Linux-containers. Hoewel we alle functies naar Windows-containers willen brengen, kunt u de huidige platformverschillen vinden in het overzicht.

leegDir-volume

Het legeDir-volume biedt een beschrijfbare map die toegankelijk is voor elke container in een containergroep. Containers in de groep kunnen dezelfde bestanden in het volume lezen en schrijven en deze kunnen worden gekoppeld met dezelfde of verschillende paden in elke container.

Enkele voorbeelden van het gebruik van een emptyDir-volume:

  • Tijdelijke opslagruimte
  • Controlepunten tijdens langlopende taken
  • Sla gegevens op die zijn opgehaald door een sidecar-container en worden geleverd door een toepassingscontainer

Gegevens in een emptyDir-volume blijven behouden bij containercrashes. Containers die opnieuw worden opgestart, blijven echter niet gegarandeerd behouden in een leegDir-volume . Als u een containergroep stopt, wordt het legeDir-volume niet behouden.

De maximale grootte van een Linux emptyDir-volume is 50 GB.

Een emptyDir-volume koppelen

Als u een leegDir-volume in een containerinstantie wilt koppelen, kunt u implementeren met behulp van een Azure Resource Manager-sjabloon, een YAML-bestand of andere programmatische methoden om een containergroep te implementeren.

Vul eerst de volumes matrix in de sectie containergroep properties van het bestand in. Vul vervolgens voor elke container in de containergroep waarin u het legeDir-volume wilt koppelen de volumeMounts matrix in de properties sectie van de containerdefinitie.

Met de volgende Resource Manager-sjabloon wordt bijvoorbeeld een containergroep gemaakt die bestaat uit twee containers, die elk het legeDir-volume koppelt:

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

Zie Een groep met meerdere containers implementeren met behulp van een Resource Manager-sjabloon en een groep met meerdere containers implementeren met behulp van een YAML-bestand voor voorbeelden van de implementatie van een containergroep.

Volgende stappen

Meer informatie over het koppelen van andere volumetypen in Azure Container Instances: