Montaje de un volumen de emptyDir en Azure Container InstancesMount an emptyDir volume in Azure Container Instances

Aprenda a montar un volumen emptyDir para compartir datos entre los contenedores de un grupo de contenedores en Azure Container Instances.Learn how to mount an emptyDir volume to share data between the containers in a container group in Azure Container Instances. Use los volúmenes emptyDir como memorias caché efímeras para las cargas de trabajo en contenedores.Use emptyDir volumes as ephemeral caches for your containerized workloads.

Nota

El montaje de un volumen emptyDir está actualmente restringido a los contenedores de Linux.Mounting an emptyDir volume is currently restricted to Linux containers. Aunque se está trabajando para incorporar todas las características a los contenedores Windows, puede consultar las diferencias actuales entre plataformas en la introducción.While we are working to bring all features to Windows containers, you can find current platform differences in the overview.

Volumen emptyDiremptyDir volume

El volumen emptyDir ofrece un directorio de escritura accesible para cada contenedor de un grupo de contenedores.The emptyDir volume provides a writable directory accessible to each container in a container group. Los contenedores del grupo pueden leer y escribir los mismos archivos en el volumen, que puede montarse mediante las mismas o distintas rutas de acceso en cada contenedor.Containers in the group can read and write the same files in the volume, and it can be mounted using the same or different paths in each container.

Algunos ejemplos de uso de un volumen emptyDir:Some example uses for an emptyDir volume:

  • Espacio de desechoScratch space
  • Punto de control durante las tareas de ejecución prolongadaCheckpointing during long-running tasks
  • Almacenamiento de datos recuperados por un contenedor sidecar y atendidos por un contenedor de aplicaciónStore data retrieved by a sidecar container and served by an application container

Los datos incluidos en un volumen emptyDir se conservan a través de bloqueos de contenedor.Data in an emptyDir volume is persisted through container crashes. Pero no se garantiza que se conserven los datos de un volumen emptyDir en los contenedores que se reinicien.Containers that are restarted, however, are not guaranteed to persist the data in an emptyDir volume. Si detiene un grupo de contenedores, el volumen emptyDir no se conserva.If you stop a container group, the emptyDir volume is not persisted.

El tamaño máximo de un volumen emptyDir de Linux es de 50 GB.The maximum size of a Linux emptyDir volume is 50 GB.

Montaje de un volumen emptyDirMount an emptyDir volume

Para montar un volumen emptyDir en una instancia de contenedor, debe realizar la implementación con una plantilla de Azure Resource Manager, un archivo YAML u otro método de programación para implementar un grupo de contenedores.To mount an emptyDir volume in a container instance, you can deploy using an Azure Resource Manager template, a YAML file, or other programmatic methods to deploy a container group.

En primer lugar, rellene la matriz volumes en la sección properties del grupo de contenedores del archivo.First, populate the volumes array in the container group properties section of the file. Luego, para cada contenedor del grupo de contenedores en el que quiera montar el volumen emptyDir, rellene la matriz volumeMounts en la sección properties de la definición del contenedor.Next, for each container in the container group in which you'd like to mount the emptyDir volume, populate the volumeMounts array in the properties section of the container definition.

Por ejemplo, la siguiente plantilla de Resource Manager crea un grupo de contenedores que consta de dos contenedores y en cada uno de ellos se monta el volumen emptyDir:For example, the following Resource Manager template creates a container group consisting of two containers, each of which mounts the emptyDir volume:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-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": [
    {
      "name": "volume-demo-emptydir",
      "type": "Microsoft.ContainerInstance/containerGroups",
      "apiVersion": "2018-10-01",
      "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": {}
          }
        ]
      }
    }
  ]
}

Para ver ejemplos de la implementación del grupo de contenedores, consulte Implementación de un grupo con varios contenedores con una plantilla Resource Manager e Implementación de un grupo de varios contenedores con un archivo YAML.To see examples of container group deployment, see Deploy a multi-container group using a Resource Manager template and Deploy a multi-container group using a YAML file.

Pasos siguientesNext steps

Aprenda a montar otros tipos de volúmenes en Azure Container Instances:Learn how to mount other volume types in Azure Container Instances: