Especificación de un volumen de Docker en la definición de tareas de Amazon ECS - Amazon Elastic Container Service

Especificación de un volumen de Docker en la definición de tareas de Amazon ECS

Para que los contenedores puedan utilizar volúmenes de datos, debe especificar las configuraciones del volumen y el punto de montaje en su definición de tarea. En esta sección se describe la configuración de volumen para un contenedor. Para las tareas que usan un volumen de Docker, especifique dockerVolumeConfiguration. Para las tareas que usan un volumen de host de montaje vinculado, especifique host y, si lo desea, sourcePath.

El siguiente JSON de definición de tareas muestra la sintaxis de los objetos volumes y mountPoints para un contenedor.

{ "containerDefinitions": [ { "mountPoints": [ { "sourceVolume": "string", "containerPath": "/path/to/mount_volume", "readOnly": boolean } ] } ], "volumes": [ { "name": "string", "dockerVolumeConfiguration": { "scope": "string", "autoprovision": boolean, "driver": "string", "driverOpts": { "key": "value" }, "labels": { "key": "value" } } } ] }
name

Tipo: cadena

Requerido: no

El nombre del volumen. Se admiten hasta 255 letras (mayúsculas y minúsculas), números, guiones (-) y caracteres de subrayado (_). Se hace referencia a este nombre en el parámetro sourceVolume del objeto mountPoints de la definición de contenedor.

dockerVolumeConfiguration

Type: objeto de DockerVolumeConfiguration

Obligatorio: no

Este parámetro se especifica cuando se usan volúmenes de Docker. Los volúmenes de Docker se admiten solo cuando se ejecutan tareas en instancias de EC2. Los contenedores de Windows admiten solo el uso del controlador local. Para utilizar montajes vinculados, especifique host en su lugar.

scope

Tipo: cadena

Valores válidos: task | shared

Obligatorio: no

El ámbito del volumen de Docker, que determina su ciclo de vida. Los volúmenes de Docker con un ámbito de task se aprovisionan automáticamente cuando se inicia la tarea y se destruyen cuando la tarea se detiene. Los volúmenes de Docker cuyo ámbito es shared se conservan una vez detenida la tarea.

autoprovision

Tipo: Booleano

Valor predeterminado: false

Obligatorio: no

Si este valor es true, el volumen de Docker se crea si aún no existe. Este campo se usa solo si scope es shared. Si el scope es task, este parámetro debe omitirse.

driver

Tipo: cadena

Requerido: no

El controlador del volumen de Docker que se va a usar. El valor de controlador debe coincidir con el nombre del controlador proporcionado por Docker, ya que se utiliza para la colocación de tareas. Si el controlador se instaló mediante la CLI del complemento de Docker, utilice docker plugin ls para recuperar el nombre de controlador de la instancia de contenedor. Si el controlador se instaló con otro método, utilice la detección de complementos de Docker para recuperar el nombre del controlador.

driverOpts

Tipo: cadena

Requerido: no

Un mapa de las opciones específicas del controlador de Docker que se deben transferir. Este parámetro se corresponde con DriverOpts en la sección Crear un volumen de Docker.

labels

Tipo: cadena

Requerido: no

Metadatos personalizados que se añaden al volumen de Docker.

mountPoints

Tipo: matriz de objetos

Obligatorio: no

Puntos de montaje para los volúmenes de datos del contenedor. Este parámetro asigna a Volumes en la API create-container de Docker y la opción --volume a docker run.

Los contenedores de Windows pueden montar directorios completos en la misma unidad que $env:ProgramData. Los contenedores de Windows no pueden montar directorios en una unidad diferente y los puntos de montaje no se pueden utilizar entre unidades. Debe especificar los puntos de montaje para adjuntar un volumen de Amazon EBS directamente a una tarea de Amazon ECS.

sourceVolume

Tipo: cadena

Obligatorio: sí, si se utilizan mountPoints.

El nombre del volumen a montar.

containerPath

Tipo: cadena

Obligatorio: sí, si se utilizan mountPoints.

La ruta del contenedor donde se montará el volumen.

readOnly

Tipo: Booleano

Obligatorio: no

Si este valor es true, el acceso del contenedor al volumen es de solo lectura. Si este valor es false, el contenedor puede escribir en el volumen. El valor predeterminado es false.

Para las tareas que se ejecutan en instancias de EC2 con sistema operativo Windows, deje el valor predeterminado false.