Especificación de un montaje de unión en la definición de tareas de Amazon ECS
En el siguiente fragmento de JSON de definición de tareas, se muestra la sintaxis de los objetos volumes
, mountPoints
y ephemeralStorage
para una definición de las tareas de Amazon ECS alojadas en instancias de Amazon EC2 o Fargate.
{ "family": "", ... "containerDefinitions" : [ { "mountPoints" : [ { "containerPath" : "
/path/to/mount_volume
", "sourceVolume" : "string
" } ], "name" : "string
" } ], ... "volumes" : [ { "name" : "string
" } ], "ephemeralStorage": { "sizeInGiB":integer
} }
Para las tareas de Amazon ECS que están alojadas en instancias de Amazon EC2, puede utilizar el parámetro host
opcional y un sourcePath
al especificar los detalles del volumen de tareas. Cuando se especifica, vincula el montaje de enlace al ciclo de vida de la tarea en lugar del contenedor.
"volumes" : [ { "host" : { "sourcePath" : "
string
" }, "name" : "string
" } ]
A continuación, se describe en más detalle cada uno de los parámetros de la definición de tarea.
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. host
-
Obligatorio: no
El parámetro
host
se utiliza para vincular el ciclo de vida del montaje de enlace a la instancia de Amazon EC2 del host, en lugar de a la tarea, y donde se almacena. Si el parámetrohost
está vacío, entonces el daemon de Docker asigna una ruta de host a su volumen de datos, pero no se garantiza que los datos persistan después de que los contenedores asociados dejen de funcionar.Los contenedores de Windows pueden montar directorios completos en la misma unidad que
$env:ProgramData
.nota
El parámetro
sourcePath
se admite solo cuando se utilizan las tareas que se alojan en instancias de Amazon EC2.sourcePath
-
Tipo: cadena
Requerido: no
Cuando utilice el parámetro
host
, especifique unasourcePath
para declarar la ruta de la instancia de Amazon EC2 del host que se presenta al contenedor. Si este parámetro está vacío, el daemon de Docker asigna una ruta de host. Si el parámetrohost
contiene una ubicación de archivossourcePath
, el volumen de datos persiste en la ubicación especificada en la instancia de Amazon EC2 del host hasta que la elimine manualmente. Si el valorsourcePath
no existe en la instancia de Amazon EC2 del host, el daemon de Docker lo crea. Si la ubicación existe, el contenido de la carpeta de la ruta de origen se exporta.
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
.
ephemeralStorage
-
Tipo: objeto
Obligatorio: no
Cantidad de almacenamiento efímero que se asignará a la tarea. Este parámetro se utiliza para expandir la cantidad total de almacenamiento efímero disponible, más allá de la cantidad predeterminada, para las tareas alojadas en AWS Fargate que utilizan la versión
1.4.0
o posterior (Linux) o1.0.0
o posterior (Windows) de la plataforma.Se puede utilizar la CLI de Copilot, CloudFormation, el SDK de AWS o la CLI para especificar almacenamiento efímero para un montaje de enlace.