Zainstaluj wolumin pustyDir w usłudze Azure Container Instances

Dowiedz się, jak zainstalować wolumin emptyDir , aby udostępniać dane między kontenerami w grupie kontenerów w usłudze Azure Container Instances. Użyj woluminów emptyDir jako efemerycznych pamięci podręcznych dla konteneryzowanych obciążeń.

Uwaga

Instalowanie woluminu emptyDir jest obecnie ograniczone do kontenerów systemu Linux. Podczas pracy nad wprowadzeniem wszystkich funkcji do kontenerów systemu Windows można znaleźć bieżące różnice między platformami w omówieniu.

emptyDir woluminu

Wolumin emptyDir udostępnia zapisywalny katalog dostępny dla każdego kontenera w grupie kontenerów. Kontenery w grupie mogą odczytywać i zapisywać te same pliki w woluminie i można je instalować przy użyciu tych samych lub różnych ścieżek w każdym kontenerze.

W niektórych przykładach użyto dla woluminu emptyDir :

  • Spacja tymczasowych
  • Punktowanie kontrolne podczas długotrwałych zadań
  • Przechowywanie danych pobranych przez kontener przyczepki i obsługiwanych przez kontener aplikacji

Dane w woluminie emptyDir są utrwalane przez awarie kontenera. Kontenery, które są uruchamiane ponownie, nie mają jednak gwarancji, że dane będą utrwalane w woluminie emptyDir . Jeśli zatrzymasz grupę kontenerów, wolumin emptyDir nie będzie trwały.

Maksymalny rozmiar woluminu emptyDir systemu Linux wynosi 50 GB.

Instalowanie woluminu emptyDir

Aby zainstalować wolumin emptyDir w wystąpieniu kontenera, można wdrożyć przy użyciu szablonu usługi Azure Resource Manager, pliku YAML lub innych metod programistycznych w celu wdrożenia grupy kontenerów.

Najpierw wypełnij tablicę volumes w sekcji grupy properties kontenerów pliku. Następnie dla każdego kontenera w grupie kontenerów, w której chcesz zainstalować wolumin emptyDir , wypełnij tablicę volumeMounts w properties sekcji definicji kontenera.

Na przykład następujący szablon usługi Resource Manager tworzy grupę kontenerów składającą się z dwóch kontenerów, z których każdy instaluje wolumin 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": {}
          }
        ]
      }
    }
  ]
}

Aby zapoznać się z przykładami wdrażania grup kontenerów, zobacz Wdrażanie grupy z wieloma kontenerami przy użyciu szablonu usługi Resource Manager i Wdrażanie grupy z wieloma kontenerami przy użyciu pliku YAML.

Następne kroki

Dowiedz się, jak zainstalować inne typy woluminów w usłudze Azure Container Instances: