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ámetrosourceVolume
del objetomountPoints
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, especifiquehost
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 esshared
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 siscope
esshared
. Si elscope
estask
, 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 esfalse
, el contenedor puede escribir en el volumen. El valor predeterminado esfalse
.Para las tareas que se ejecutan en instancias de EC2 con sistema operativo Windows, deje el valor predeterminado
false
.