Připojení svazku emptyDir v Azure Container Instances

Zjistěte, jak připojit svazek emptyDir ke sdílení dat mezi kontejnery ve skupině kontejnerů v Azure Container Instances. Použijte emptyDir volumes jako dočasné mezipaměti pro kontejnerizované úlohy.

Poznámka

Připojení svazku emptyDir je aktuálně omezené na kontejnery Linuxu. Zatímco pracujeme na tom, abychom všechny funkce přenesli do kontejnerů Windows, aktuální rozdíly mezi platformami najdete v přehledu.

svazek emptyDir

Svazek emptyDir poskytuje zapisovatelný adresář přístupný pro každý kontejner ve skupině kontejnerů. Kontejnery ve skupině mohou číst a zapisovat stejné soubory ve svazku a lze je připojit pomocí stejných nebo různých cest v každém kontejneru.

Některé příklady používají pro svazek emptyDir:

  • Pomocné místo
  • Kontrolní body během dlouhotrajících úloh
  • Ukládání dat načtených kontejnerem sa sidecar a obsluhou kontejnerem aplikace

Data ve svazku emptyDir se uchová při selhání kontejneru. U kontejnerů, které se restartují, ale není zaručeno, že se data zachová na svazku emptyDir. Pokud zastavíte skupinu kontejnerů, svazek emptyDir se neuchová.

Maximální velikost prázdného svazku LinuxDir je 50 GB.

Připojení svazku emptyDir

Pokud chcete připojit svazek emptyDir v instanci kontejneru, můžete k nasazení skupiny kontejnerů použít šablonu Azure Resource Manager, soubor YAMLnebo jiné programové metody.

Nejprve volumes vyplňte pole v oddílu properties skupiny kontejnerů v souboru . Dále pro každý kontejner ve skupině kontejnerů, ke kterému chcete připojit svazek emptyDir, vyplňte pole v části volumeMounts definice properties kontejneru.

Například následující šablona Resource Manager vytvoří skupinu kontejnerů skládající se ze dvou kontejnerů, z nichž každý připojí svazek 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": {}
          }
        ]
      }
    }
  ]
}

Příklady nasazení skupin kontejnerů najdete v tématu Nasazení skupiny více kontejnerů pomocí šablony Resource Manager a Nasazení skupiny více kontejnerů pomocí souboru YAML.

Další kroky

Zjistěte, jak připojit další typy svazků v Azure Container Instances: