Parámetros de la definición de tareas de Amazon ECS para Instancias administradas de Amazon ECS
Las definiciones de tareas se dividen en partes independientes: la familia de tareas, el rol de tarea de AWS Identity and Access Management (IAM), el modo de red, las definiciones de contenedor, los volúmenes y la capacidad. En una definición de tareas, son necesarias las definiciones de familia y contenedor. En cambio, el rol de tarea, el modo de red, los volúmenes y la capacidad son opcionales.
Puede utilizar estos parámetros en un archivo JSON para configurar la definición de tarea.
A continuación, se muestran las descripciones detalladas de cada parámetro de definición de tareas para Instancias administradas de Amazon ECS.
Familia
family-
Tipo: cadena
Obligatorio: sí
Cuando se registra una definición de tarea, se le da una familia, que es similar a un nombre para varias versiones de la definición de tarea, especificado con un número de revisión. A la primera definición de tareas que se registra en una familia particular se le da una revisión de 1 y a cualquier definición de tarea registrada después se le da un número de revisión secuencial.
Capacidad
Cuando se registre una definición de tareas, puede especificar la capacidad que con respecto a la cual Amazon ECS debe validar la definición de tareas. Si la definición de tareas no se valida con respecto a las compatibilidades especificadas, se devuelve una excepción de cliente. Para obtener más información, consulte Tipos de lanzamiento de Amazon ECS.
El parámetro a continuación está permitido en una definición de tareas.
requiresCompatibilities-
Tipo: matriz de cadenas
Obligatorio: no
Valores válidos:
MANAGED_INSTANCESLa capacidad con la que se validó la definición de tareas. Esto inicia una comprobación para garantizar que todos los parámetros utilizados en la definición de tareas cumplan los requisitos de Instancias administradas de Amazon ECS.
Rol de de la tarea
taskRoleArn-
Tipo: cadena
Requerido: no
Cuando se registra una definición de tareas, se puede proporcionar un rol de tarea para un rol de IAM que permita a los contenedores del permiso de tareas llamar en su nombre a las API de AWS especificadas en sus políticas asociadas. Para obtener más información, consulte Rol de IAM de tarea de Amazon ECS.
Rol de ejecución de tareas
executionRoleArn-
Tipo: cadena
Obligatorio: condicional
El nombre de recurso de Amazon (ARN) del rol de ejecución de tarea que concede permiso al agente de contenedor de Amazon ECS para realizar llamadas a la API de AWS en su nombre. Para obtener más información, consulte Rol de IAM de ejecución de tareas de Amazon ECS.
nota
El rol de IAM de ejecución de tareas es necesario en función de los requisitos de la tarea. El rol es obligatorio para extraer la imagen de ECR privada y utilizar el controlador de registro de
awslogs.
Modo de red
networkMode-
Tipo: cadena
Requerido: no
Valor predeterminado:
awsvpcEl modo de red que se debe utilizar para los contenedores en la tarea. Para las tareas de Amazon ECS alojadas en Instancias administradas de Amazon ECS, los valores válidos son
awsvpcyhost. Si no se especifica ningún modo de red, el modo de red predeterminado esawsvpc.Si el modo de red es
host, la tarea omite el aislamiento de la red y los contenedores utilizan la pila de red del host directamente.importante
Para mayor seguridad, cuando ejecute tareas utilizando el modo de red
host, no debe ejecutar contenedores con el usuario raíz (UID 0). Como práctica recomendada de seguridad, utilice siempre un usuario que no sea usuario raíz.Si el modo de red es
awsvpc, a la tarea se le asigna una interfaz de red elástica y debe especificarNetworkConfigurational crear un servicio o ejecutar una tarea con la definición de tarea. Para obtener más información, consulte Red de tareas de Amazon ECS para Instancias administradas de Amazon ECS.Los modos de red
hostyawsvpcofrecen el rendimiento de redes más alto para contenedores dado que estos utilizan la pila de la red de Amazon EC2. Con los modos de redhostyawsvpc, los puertos de contenedor expuestos se asignan directamente al puerto de host correspondiente (para el modo de redhost) o al puerto de interfaz de red elástica asociado (para el modo de redawsvpc). Por este motivo, no se pueden utilizar asignaciones de puerto de host dinámico.
Plataforma de tiempo de ejecución
operatingSystemFamily-
Tipo: cadena
Requerido: no
Predeterminado: LINUX
Cuando se registra una definición de tarea, especifica la familia de sistemas operativos.
El valor válido para este campo es
LINUX.Todas las definiciones de tareas que se utilizan en un servicio deben tener el mismo valor para este parámetro.
Cuando una definición de tarea forma parte de un servicio, este valor debe coincidir con el valor
platformFamilyde servicio. cpuArchitecture-
Tipo: cadena
Obligatorio: condicional
Cuando se registra una definición de tarea, especifica la arquitectura de CPU. Los valores válidos son
X86_64yARM64.Si no especifica un valor, Amazon ECS intenta colocar las tareas en la arquitectura de CPU disponible según la configuración del proveedor de capacidad. Para asegurarse de que las tareas se colocan en una arquitectura de CPU específica, especifique un valor para
cpuArchitectureen la definición de la tarea.Todas las definiciones de tareas que se utilizan en un servicio deben tener el mismo valor para este parámetro.
Para obtener más información acerca de
ARM64, consulte Definiciones de tareas de Amazon ECS para cargas de trabajo de ARM de 64 bits.
Tamaño de tarea
Cuando se registra una definición de tareas, puede especificar la cantidad total de CPU y memoria usada para la tarea. Es distinto de los valores cpu y memory en el nivel de definición de contenedor. Para las tareas que están alojadas en instancias de Amazon EC2, estos campos son opcionales.
nota
Los parámetros de CPU y memoria de nivel de tarea se omiten para los contenedores de Windows. Le recomendamos que especifique recursos de nivel de contenedor para los contenedores de Windows.
cpu-
Tipo: cadena
Obligatorio: condicional
El límite máximo de unidades de CPU que presentar para la tarea. Puede indicar los valores de la CPU en el archivo JSON como una cadena en unidades de CPU o CPU virtuales (vCPU). Por ejemplo, puede especificar un valor de CPU
1024en unidades de CPU o1 vCPUen vCPU. Cuando se registra la definición de tarea, el valor de una CPU virtual se convierte en un entero que indica las unidades de CPU.Este campo es opcional. Si el clúster no tiene registradas instancias de contenedor con las unidades de CPU solicitadas disponibles, la tarea no funciona. Los valores admitidos se encuentran entre
0.125y10vCPU.
memory-
Tipo: cadena
Obligatorio: condicional
El límite máximo de memoria para presentar a la tarea. Puede especificar los valores de memoria en la definición de tareas como una cadena en mebibytes (MiB) o gigabytes (GB). Por ejemplo, puede especificar un valor de memoria
3072en MiB o3 GBen GB. Cuando se registra la definición de tarea, el valor de GB se convierte en un entero que indica el número de MiB.Este campo es opcional y se puede utilizar cualquier valor. Si se especifica un valor de memoria de nivel de tarea, el valor de memoria de nivel de contenedor es opcional. Si el clúster no tiene registradas instancias de contenedor con la memoria solicitada disponible, la tarea no funciona. Puede maximizar la utilización de los recursos proporcionando a las tareas la mayor cantidad de memoria posible para un tipo de instancia determinado. Para obtener más información, consulte Reserva de la memoria de instancias de contenedor de Linux de Amazon ECS.
Otros parámetros de definición de tarea
Los siguientes parámetros de definición de tareas se pueden utilizar cuando se registran definiciones de tareas en la consola de Amazon ECS mediante la opción Configure via JSON (Configurar mediante JSON). Para obtener más información, consulte Creación de una definición de tareas de Amazon ECS mediante la consola.
Temas
Almacenamiento efímero
ephemeralStorage-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: objeto de EphemeralStorage
Obligatorio: no
Cantidad de almacenamiento efímero (en GB) que se va a asignar para 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 que están alojadas en AWS Fargate. Para obtener más información, consulte Uso de montajes de unión con Amazon ECS.
Modo IPC
ipcMode-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: cadena
Requerido: no
El espacio de nombres de recurso de IPC que usarán los contenedores de la tarea. Los valores válidos son
host,taskonone. Si se especificahost, todos los contenedores que están dentro de las tareas que tienen especificado el modo de IPChosten la misma instancia de contenedor comparten los mismos recursos de IPC con la instancia Amazon EC2 del host. Si se especificatask, todos los contenedores que están dentro de la tarea especificada comparten los mismos recursos de IPC. Si se especificanone, los recursos de IPC dentro de los contenedores de una tarea son privados y no se comparten con otros contenedores en una tarea o en la instancia de contenedor. Si no se especifica ningún valor, el uso compartido del espacio de nombres de recursos de IPC depende de la configuración del tiempo de ejecución del contenedor.
Modo PID
pidMode-
Tipo: cadena
Requerido: no
El espacio de nombres del proceso que usarán los contenedores de la tarea. Los valores válidos son
hostotask. Si se especificahost, todos los contenedores que se encuentran en las tareas que tienen especificado el modo de PIDhosten la misma instancia de contenedor comparten el mismo espacio de nombres del proceso con la instancia Amazon EC2 del host. Si se especificatask, todos los contenedores que se encuentran en la tarea especificada comparten el mismo espacio de nombres del proceso. Si no se especifica ningún valor, el valor predeterminado es un espacio de nombres privado.Si se utiliza el modo de PID
host, existe un mayor riesgo de exposición de espacio de nombres del proceso no deseada.
Configuración del proxy
proxyConfiguration-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: objeto ProxyConfiguration
Obligatorio: no
Los detalles de configuración del proxy App Mesh.
Etiquetas
Los metadatos que se aplican a una definición de tareas para categorizarla y organizarla. Cada etiqueta consta de una clave y un valor opcional. Los define a los dos.
Se aplican las siguientes restricciones básicas a las etiquetas:
-
Cantidad máxima de etiquetas por recurso: 50.
-
Para cada recurso, cada clave de etiqueta debe ser única y solo puede tener un valor.
-
Longitud máxima de la clave: 128 caracteres Unicode en UTF-8
-
Longitud máxima del valor: 256 caracteres Unicode en UTF-8
-
Si se utiliza su esquema de etiquetado en múltiples servicios y recursos, recuerde que otros servicios pueden tener otras restricciones sobre caracteres permitidos. Los caracteres permitidos generalmente son: letras, números y espacios representables en UTF-8, además de los siguientes caracteres: + - = . _ : / @.
-
Las claves y los valores de las etiquetas distinguen entre mayúsculas y minúsculas.
-
No utilice
aws:,AWS:ni ninguna combinación de mayúsculas o minúsculas del mismo como prefijo para claves o valores, ya que está reservado para uso de AWS. Las claves y valores de etiquetas que tienen este prefijo no se pueden editar. Las etiquetas que tengan este prefijo no cuentan para el límite de etiquetas por recurso.
key-
Tipo: cadena
Requerido: no
Una parte de un par clave-valor que compone una etiqueta. Un clave es una etiqueta general que actúa como una categoría para valores de etiqueta más específicos.
value-
Tipo: cadena
Requerido: no
La parte opcional de un par clave-valor que compone una etiqueta. Un valor actúa como un descriptor en una categoría de etiquetas (clave).
Acelerador de Elastic Inference (en desuso)
nota
Amazon Elastic Inference (EI) ya no está disponible para los clientes.
inferenceAccelerator-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: objeto InferenceAccelerator
Obligatorio: no
Los aceleradores de Elastic Inference que se van a utilizar en los contenedores de la tarea.
Restricciones para la ubicación
placementConstraints-
Tipo: matriz de objetos TaskDefinitionPlacementConstraint
Obligatorio: no
Una matriz de objetos de restricción de ubicación que se usarán para la tarea. Puede especificar 10 restricciones como máximo por tarea (este límite incluye restricciones en la definición de tareas y las especificadas en el tiempo de ejecución).
Amazon ECS admite las restricciones de ubicación
distinctInstaceymemberOfde las tareas que se ponen en marcha en Instancias administradas de Amazon ECS. Las tareas que utilizan la restricción de ubicaciónmemberOfadmiten los atributos siguientes:-
ecs.subnet-id -
ecs.availability-zone -
ecs.cpu-architecture -
ecs.instance-type
Para obtener más información acerca de las restricciones de ubicación, consulte Definición de las instancias de contenedor que utiliza Amazon ECS para las tareas.
-
Volúmenes
Cuando se registra una definición de tareas, se puede especificar, de manera opcional, una lista de volúmenes para las tareas. Esto le permite utilizar volúmenes de datos en las tareas.
Para obtener más información acerca de los tipos de volúmenes y otros parámetros, consulte Opciones de almacenamiento para las tareas de Amazon ECS.
name-
Tipo: cadena
Obligatorio: sí
El nombre del volumen. Se admiten hasta 255 letras (mayúsculas y minúsculas), números y guiones. Se hace referencia a este nombre en el parámetro
sourceVolumede la definición de contenedormountPoints. host-
Type: objeto HostVolumeProperties
Obligatorio: no
Este parámetro se especifica al utilizar volúmenes de host de montaje vinculado. El contenido del parámetro
hostdetermina si el volumen de host de montaje vinculado persiste en la instancia de contenedor del host y dónde se almacena. Si el parámetrohostestá vacío, el sistema le asigna una ruta de host al volumen de datos. Sin embargo, no se garantiza que los datos persistan después de que los contenedores asociados dejen de funcionar. dockerVolumeConfiguration-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Type: objeto DockerVolumeConfiguration
Obligatorio: no
Este parámetro se especifica al utilizar volúmenes de Docker.
efsVolumeConfiguration-
Tipo: objeto EFSVolumeConfiguration
Obligatorio: no
Este parámetro se especifica cuando al utilizar un sistema de archivos de Amazon EFS para el almacenamiento de tareas.
fsxWindowsFileServerVolumeConfiguration-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: objeto FSXWindowsFileServerVolumeConfiguration
Obligatorio: no
Este parámetro se indica al utilizar el sistema de archivos Amazon FSx para Windows File Server para el almacenamiento de tareas.
configuredAtLaunch-
Tipo: Booleano
Obligatorio: no
Indica si el volumen debe configurarse en el momento del lanzamiento. Se utiliza para crear volúmenes de Amazon EBS para tareas independientes o tareas creadas como parte de un servicio. Cada revisión de la definición de tareas solo puede tener un volumen configurado en el momento del lanzamiento en la configuración de volumen.
Definiciones de contenedores
Al registrar una definición de tarea, debe especificar una lista de definiciones de contenedor que se transfieren al daemon de Docker en una instancia de contenedor. Los siguientes parámetros están permitidos en una definición de contenedor.
Temas
Nombre
name-
Tipo: cadena
Obligatorio: sí
El nombre de un contenedor. Se admiten hasta 255 letras (mayúsculas y minúsculas), números, guiones y caracteres de subrayado. Si está vinculando varios contenedores en una definición de tareas, el
namede un contenedor se puede introducir en loslinksde otro contenedor. Esto sirve para conectar los contenedores.
Imagen
image-
Tipo: cadena
Obligatorio: sí
La imagen que se utiliza para iniciar un contenedor. Esta cadena se transfiere directamente al daemon de Docker. De manera predeterminada, las imágenes del registro de Docker Hub están disponibles. También puede especificar otros repositorios con
orepository-url/image:tag. Se permiten hasta 255 letras (mayúsculas y minúsculas), números, guiones, caracteres de subrayado, comas, puntos, barras diagonales y signos numéricos. Este parámetro se corresponde conrepository-url/image@digestImageen el comando create-container de docker y el parámetroIMAGEdel comando de docker run.-
Cuando se inicia una tarea nueva, el agente de contenedor de Amazon ECS extrae la última versión de la imagen y la etiqueta especificadas para que las utilice el contenedor. Sin embargo, las actualizaciones realizadas posteriormente en un repositorio de imágenes no se propagan a las tareas en ejecución.
-
Cuando no se especifica una etiqueta ni un resumen en la ruta de la imagen en la definición de la tarea, el agente de contenedores de Amazon ECS utiliza la etiqueta
latestpara extraer la imagen especificada. -
Las actualizaciones que se hacen posteriormente en un repositorio de imágenes no se propagan a las tareas en marcha.
-
Se admiten las imágenes de registros privados. Para obtener más información, consulte Uso de imágenes de contenedor que no sean de AWS en Amazon ECS.
-
Para especificar imágenes de los repositorios de Amazon ECR, se puede utilizar la convención de nomenclatura completa
registry/repository:tagoregistry/repository@digest(por ejemplo,aws_account_id.dkr.ecr.region.amazonaws.com/omy-web-app:latestaws_account_id.dkr.ecr.region.amazonaws.com/).my-web-app@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE -
Las imágenes de los repositorios oficiales de Docker Hub utilizan un solo nombre (por ejemplo,
ubuntuomongo). -
Las imágenes de otros repositorios de Docker Hub se clasifican con un nombre de organización (por ejemplo,
amazon/amazon-ecs-agent). -
Las imágenes de otros repositorios online se cualifican más con un nombre de dominio (por ejemplo,
quay.io/assemblyline/ubuntu).
-
versionConsistency-
Tipo: cadena
Valores válidos:
enabled|disabledObligatorio: no
Especifica si Amazon ECS convertirá la etiqueta de imagen de contenedores proporcionada en la definición de contenedores en un resumen de imágenes. De manera predeterminada, el comportamiento es
enabled. Si establecedisabledcomo valor de un contenedor, Amazon ECS no convertirá la etiqueta de imagen del contenedor en un resumen y utilizará el URI de imagen original especificado en la definición del contenedor para la implementación. Para obtener más información acerca de la conversión de imagen de contenedor, consulte Resolución de imagen de contenedor.
Memoria
memory-
Tipo: entero
Obligatorio: no
La cantidad (en MiB) de memoria que se presenta al contenedor. Si su contenedor intenta superar la memoria especificada aquí, el contenedor se cancela. La cantidad total de memoria reservada para todos los contenedores dentro de una tarea debe ser menor que el valor
memoryde la tarea, si se especifica. Este parámetro se corresponde conMemoryen el comando create-container de docker y la opción--memoryse corresponde con docker run.El daemon de Docker 20.10.0 o posterior reserva un mínimo de 6 MiB de memoria para un contenedor. Por lo tanto, no debe especificar menos de 6 MiB de memoria para los contenedores.
El daemon de Docker 19.03.13-ce o anterior reserva un mínimo de 4 MiB de memoria para un contenedor. Por lo tanto, no debe especificar menos de 4 MiB de memoria para los contenedores.
nota
Si intenta maximizar la utilización de los recursos proporcionando a las tareas la mayor cantidad de memoria posible para un tipo de instancia determinado, consulte Reserva de la memoria de instancias de contenedor de Linux de Amazon ECS.
memoryReservation-
Tipo: entero
Obligatorio: no
El límite flexible (en MiB) de memoria que reservar para el contenedor. Cuando la memoria del sistema está en conflicto, Docker intenta mantener la memoria del contenedor en este límite flexible. Sin embargo, el contenedor puede utilizar más memoria cuando sea necesario. El contenedor puede utilizar hasta el límite invariable especificado con el parámetro de
memory(si procede) o toda la memoria disponible en la instancia de contenedor, lo que ocurra primero. Este parámetro se corresponde conMemoryReservationen el comando create-container de docker y la opción--memory-reservationse corresponde con docker run.Si no se especifica un valor de memoria de nivel de tarea, debe especificar un entero distinto de cero para
memoryomemoryReservation, o para ambos, en una definición de contenedor. Si especifica ambos,memorydebe ser mayor quememoryReservation. Si especificamemoryReservation, el valor se resta de los recursos de memoria disponibles para la instancia de contenedor en la que se coloca el contenedor. De lo contrario, se utiliza el valor dememory.Por ejemplo, supongamos que el contenedor utiliza normalmente 128 MiB de memoria, pero con ráfagas ocasionales de hasta 256 MiB durante períodos de tiempo breves. Puede establecer una
memoryReservationde 128 MiB y un límite invariable dememoryde 300 MiB. Esta configuración permite al contenedor reservar solo 128 MiB de memoria de los recursos restantes en la instancia de contenedor. Al mismo tiempo, esta configuración también permite que el contenedor consuma más recursos de memoria en caso de ser necesario.El daemon de Docker 20.10.0 o posterior reserva un mínimo de 6 MiB de memoria para un contenedor. Por lo tanto, no debe especificar menos de 6 MiB de memoria para los contenedores.
El daemon de Docker 19.03.13-ce o anterior reserva un mínimo de 4 MiB de memoria para un contenedor. Por lo tanto, no debe especificar menos de 4 MiB de memoria para los contenedores.
nota
Si intenta maximizar la utilización de los recursos proporcionando a las tareas la mayor cantidad de memoria posible para un tipo de instancia determinado, consulte Reserva de la memoria de instancias de contenedor de Linux de Amazon ECS.
CPU
cpu-
Tipo: entero
Obligatorio: no
El número de unidades
cpureservadas para el contenedor. Este parámetro se corresponde conCpuSharesen el comando create-container de docker y la opción--cpu-sharescon docker run.Este campo es opcional para las tareas que utilizan los proveedores de capacidad de EC2. El único requisito es que la cantidad total de CPU reservada para todos los contenedores de una tarea sea menor que el valor
cpuen el nivel de tarea.nota
Puede determinar el número de unidades CPU disponibles por tipo de instancia de EC2 multiplicando las vCPU listadas para dicho tipo de instancia en la página de detalles instancias de Amazon EC2
por 1024. Los contenedores de Linux comparten unidades de CPU no asignadas con otros contenedores en la instancia de contenedor en la misma proporción que la cantidad asignada. Por ejemplo, si pone en marcha una tarea de contenedor único en un tipo de instancia de un solo núcleo con 512 unidades de CPU especificadas para dicho contenedor y esta es la única tarea que se pone en marcha en la instancia de contenedor, dicho contenedor podría utilizar las 1024 unidades de CPU en su totalidad en un momento dado. Sin embargo, si se lanza otra copia de la misma tarea en esa instancia de contenedor, cada tarea tiene garantizado un mínimo de 512 unidades de CPU cuando sea necesario. Además, cada contenedor podría aumentar el uso de la CPU si el otro contenedor no lo estuviera utilizando. Si ambas tareas estuvieran 100 % activas todo el tiempo, estarían limitadas a 512 unidades de la CPU.
En las instancias de contenedor de Linux, el daemon de Docker en la instancia de contenedor utiliza el valor de CPU para calcular las proporciones de cuota de CPU relativas para los contenedores en ejecución. Para obtener más información, consulte la sección CPU share constraint
de la documentación de Docker. El valor de cuota de CPU válido mínimo que permite el kernel de Linux es 2. Sin embargo, el parámetro de la CPU no es obligatorio, y puede utilizar valores de la CPU por debajo de 2 en sus definiciones de contenedor. Para valores de CPU por debajo de 2 (incluido el valor nulo), el comportamiento varía en función de su versión de agente de contenedor de Amazon ECS: -
Versiones del agente inferiores o iguales a 1.1.0: los valores de CPU nulo y cero se pasan a Docker como 0, y Docker los convierte a continuación a 1024 cuotas de CPU. Los valores de CPU de 1 se transfieren a Docker como 1, que el kernel de Linux convierte a 2 cuotas de CPU.
-
Versiones del agente superiores o iguales a 1.2.0: nulo, cero y los valores de CPU de 1 se transfieren a Docker como 2.
En las instancias de contenedor de Windows, el límite de CPU se aplica como un límite absoluto o una cuota. Los contenedores de Windows solo tienen acceso a la cantidad de CPU especificada que se describe en la definición de tarea. Un valor de CPU nulo o cero se pasa a Docker como
0, que Windows interpreta como 1 % de una CPU. -
Mapeos de puertos
portMappings-
Tipo: matriz de objetos
Obligatorio: no
Las asignaciones de puertos exponen los puertos de red del contenedor al mundo exterior, lo que permite a los clientes acceder a su aplicación. También se utilizan para la comunicación entre contenedores dentro de la misma tarea.
Para las definiciones de tareas que utilizan el modo de red
awsvpc, solo especifiquecontainerPort. ElhostPortsiempre se ignora y el puerto del contenedor se asigna automáticamente a un puerto aleatorio con un número alto del host.La mayoría de los campos de este parámetro (incluidos
containerPort,hostPort,protocol) se corresponden conPortBindingsen el comando create-container de docker y con la opción--publishpara docker run. Si el modo de red de una definición de tareas se establece enhost, los puertos de host deben estar sin definir o deben corresponder al puerto de contenedor en la asignación de puerto.nota
Después de que una tarea alcanza el estado
RUNNING, las asignaciones manuales y automáticas de puertos de contenedor y de host se pueden ver en las siguientes ubicaciones:-
Consola: la sección Network Bindings (Conexiones de red) de la descripción de un contenedor para una tarea seleccionada.
-
AWS CLI: la sección
networkBindingsde la salida del comando describe-tasks. -
API: la respuesta de
DescribeTasks. -
Metadatos: el punto de conexión de metadatos de la tarea.
appProtocol-
Tipo: cadena
Requerido: no
El protocolo de aplicación que se utiliza para la asignación de puertos. Este parámetro solo se aplica a Service Connect. Recomendamos que defina este parámetro para que sea coherente con el protocolo que utiliza la aplicación. Si se establece este parámetro, Amazon ECS agrega la administración de la conexión específica del protocolo al proxy de Service Connect. Si se establece este parámetro, Amazon ECS agrega telemetría específica del protocolo en la consola de Amazon ECS y CloudWatch.
Si no establece un valor para este parámetro, se utilizará TCP. Sin embargo, Amazon ECS no agrega telemetría específica del protocolo para TCP.
Para obtener más información, consulte Uso de Service Connect para conectar los servicios de Amazon ECS con nombres abreviados.
Valores de protocolo válidos:
"HTTP" | "HTTP2" | "GRPC" containerPort-
Tipo: número entero
Obligatorio: sí, si se utilizan
portMappings.El número de puerto en el contenedor que está vinculado al puerto de host especificado por el usuario o asignado automáticamente.
Para las tareas que utilizan el modo de red
awsvpc, debe utilizarcontainerPortpara especificar los puertos expuestos. containerPortRange-
Tipo: cadena
Requerido: no
El rango de números de puerto en el contenedor que está vinculado al rango de puertos de host asignado de manera dinámica.
Solo puede configurar este parámetro mediante la API
register-task-definition. La opción está disponible en el parámetroportMappings. Para obtener más información, consulte register-task-definition en la Referencia de AWS Command Line Interface.Las siguientes reglas se aplican al especificar un
containerPortRange:-
Debe usar el modo de red
awsvpc. -
La instancia de contenedor debe tener al menos la versión 1.67.0 del agente de contenedor y al menos la versión 1.67.0-1 del paquete
ecs-init -
Puede especificar 100 rangos de puertos como máximo por cada contenedor.
-
No especifica un
hostPortRange. El valor dehostPortRangese establece de la siguiente manera:-
Para los contenedores de una tarea con el modo de red
awsvpc,hostPortse establece en el mismo valor quecontainerPort. Se trata de una estrategia de asignación estática.
-
-
Los valores válidos de
containerPortRangese encuentran entre 1 y 65 535. -
Un puerto solo puede incluirse en una asignación de puertos por cada contenedor.
-
No puede especificar rangos de puertos superpuestos.
-
El primer puerto del rango debe ser menor que el último puerto del rango.
-
Docker recomienda desactivar el docker-proxy en el archivo de configuración del daemon de Docker cuando haya una gran cantidad de puertos.
Para más información, consulte Issue #11185
en GitHub. Para obtener información sobre cómo desactivar el docker-proxy en el archivo de configuración del daemon de Docker, consulte Daemon de Docker en la Guía para desarrolladores de Amazon ECS.
Puede llamar a DescribeTasks para ver el valor de
hostPortRange, es decir, los puertos del host que están vinculados a los puertos del contenedor.Los rangos de puertos no se incluyen en los eventos de tareas de Amazon ECS que se envían a EventBridge. Para obtener más información, consulte Automaticzación de las respuestas a los errores de Amazon ECS mediante EventBridge.
-
hostPortRange-
Tipo: string
Requerido: no
El rango de números de puerto del host que se usa con el enlace de red. Docker lo asigna y el agente de Amazon ECS lo entrega.
hostPort-
Tipo: entero
Obligatorio: no
El número de puerto en la instancia de contenedor que reservar para el contenedor.
El valor de
hostPortpuede dejarse en blanco o debe ser el mismo valor quecontainerPort.La versión 1.6.0 de Docker y posteriores para el rango de puertos efímeros predeterminado se puede ver en la instancia en
/proc/sys/net/ipv4/ip_local_port_range. Si este parámetro de kernel no está disponible, se usa el intervalo de puertos efímeros predeterminado, de49153–65535. No intente especificar un puerto de host en el rango de puertos efímeros. Esto se debe a que están reservados para la asignación automática. En general, los puertos bajo32768están fuera del rango de puertos efímeros.Los puertos reservados predeterminados son el
22para SSH; los puertos de Docker2375y2376y los puertos51678-51680del agente de contenedor de Amazon ECS. Cualquier puerto de host especificado por el usuario con anterioridad para una tarea en ejecución también se reserva mientras la tarea está en ejecución. Cuando se detiene una tarea, se libera el puerto del host. Los puertos reservados actuales se muestran en losremainingResourcesde la salida de describe-container-instances. Es posible que una instancia de contenedor tenga hasta 100 puertos reservados por vez, incluidos los puertos reservados predeterminados. Los puertos asignados automáticamente no se contabilizan para la cuota de 100 puertos reservados. name-
Tipo: cadena
Obligatorio: no, es obligatorio para configurar Service Connect y VPC Lattice en un servicio
El nombre que se utiliza para la asignación de puertos. Este parámetro solo se aplica a Service Connect y VPC Lattice. Este parámetro es el nombre que se utiliza en la configuración de Service Connect y VPC Lattice de un servicio.
Para obtener más información, consulte Uso de Service Connect para conectar los servicios de Amazon ECS con nombres abreviados.
En el siguiente ejemplo, se utilizan los dos campos obligatorios de Service Connect y VPC Lattice.
"portMappings": [ { "name":string, "containerPort":integer} ] protocol-
Tipo: cadena
Requerido: no
El protocolo que se utiliza para la asignación de puertos. Los valores válidos son
tcpyudp. El valor predeterminado estcp.importante
Solo
tcpes compatible con Service Connect. Recuerde quetcpestá implícito si este campo no está configurado.
Utilice la sintaxis a continuación para especificar un puerto de host.
"portMappings": [ { "containerPort": integer, "hostPort": integer } ... ]Use la siguiente sintaxis si desea asignar automáticamente un puerto de host.
"portMappings": [ { "containerPort": integer } ... ] -
Credenciales de repositorio privado
repositoryCredentials-
Tipo: objeto de RepositoryCredentials
Obligatorio: no
Las credenciales del repositorio para la autenticación de registros privados.
Para obtener más información, consulte Uso de imágenes de contenedor que no sean de AWS en Amazon ECS.
-
credentialsParameter -
Tipo: cadena
Obligatorio: sí, si se utilizan
repositoryCredentials.El nombre de recurso de Amazon (ARN) del secreto que contiene las credenciales del repositorio privado.
Para obtener más información, consulte Uso de imágenes de contenedor que no sean de AWS en Amazon ECS.
nota
Cuando se utiliza la API de Amazon ECS, la AWS CLI o los SDK de AWS, si el secreto existe en la misma región que la tarea que se va a lanzar, se puede utilizar el ARN completo o el nombre del secreto. Cuando se utiliza la Consola de administración de AWS, debe especificar el ARN completo del secreto.
A continuación, se incluye un fragmento de definición de tareas que muestra los parámetros necesarios:
"containerDefinitions": [ { "image": "private-repo/private-image", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name" } } ]
-
Essential
essential-
Tipo: Booleano
Obligatorio: no
Si el parámetro
essentialde un contenedor se marca comotruey dicho contenedor falla o se detiene por algún motivo, se detienen todos los demás contenedores que forman parte de la tarea. Si el parámetroessentialde un contenedor se marca comofalse, su error no afecta al resto de los contenedores en una tarea. Si este parámetro se omite, se supone que un contenedor es esencial.Todas las tareas deben tener al menos un contenedor esencial. Si tiene una tarea que está compuesta por varios contenedores, agrupe los contenedores que se utilizan para un fin común en componentes y separe los distintos componentes en diversas definiciones de tareas. Para obtener más información, consulte Diseño de la arquitectura de su aplicación para Amazon ECS.
Punto de entrada
entryPoint-
Tipo: matriz de cadenas
Obligatorio: no
El punto de entrada que se transfiere al contenedor. Este parámetro se corresponde con
Entrypointen el comando create-container de docker y la opción--entrypointcon docker run."entryPoint": ["string", ...]
Comando
command-
Tipo: matriz de cadenas
Obligatorio: no
El comando que se transfiere al contenedor. Este parámetro se corresponde con
Cmden el comando docker create-container y el parámetroCOMMANDcon la puesta en marcha de docker. Si hay varios argumentos, cada uno de ellos es una cadena separada en la matriz."command": ["string", ...]
Directorio de trabajo
workingDirectory-
Tipo: cadena
Requerido: no
El directorio de trabajo para ejecutar los comandos dentro del contenedor. Este parámetro se corresponde con
WorkingDiren el comando create-container de docker y la opción--workdircon docker run.
Parámetros de definición de contenedor avanzados
Los siguientes parámetros avanzados de definición de contenedor ofrecen capacidades ampliadas para el comando de docker run que se utiliza para lanzar contenedores en las instancias de contenedor de Amazon ECS.
Temas
Política de reinicio
restartPolicy-
La política de reinicio del contenedor y los parámetros de configuración asociados. Al configurar una política de reinicio para un contenedor, Amazon ECS puede reiniciar el contenedor sin necesidad de reemplazar la tarea. Para obtener más información, consulte Reinicio de contenedores individuales en tareas de Amazon ECS con políticas de reinicio de contenedores.
enabled-
Tipo: booleano
Obligatorio: sí
Especifica si una política de reinicio está habilitada para el contenedor.
ignoredExitCodes-
Tipo: matriz de enteros
Obligatorio: no
Una lista de códigos de salida que Amazon ECS ignorará y no intentará reiniciar. Puede especificar un máximo de 50 códigos de salida de contenedor. De forma predeterminada, Amazon ECS no ignora ningún código de salida.
restartAttemptPeriod-
Tipo: entero
Obligatorio: no
La cantidad de tiempo (en segundos) que debe ejecutarse el contenedor antes de que se pueda intentar un reinicio. Un contenedor solo se puede reiniciar una vez cada
restartAttemptPeriodsegundos. Si un contenedor no puede ejecutarse durante este período de tiempo y se cierra antes, no se reiniciará. Puede especificar un mínimorestartAttemptPeriodde 60 segundos y unrestartAttemptPeriodmáximo de 1.800 segundos. De forma predeterminada, un contenedor debe ejecutarse durante 300 segundos antes de poder reiniciarse.
Comprobación de estado
healthCheck-
El parámetro de comprobación de estado del contenedor y los parámetros de configuración asociados para el contenedor. Para obtener más información, consulte Determine el estado de las tareas de Amazon ECS mediante comprobaciones de estado de los contenedores.
command-
Una matriz de cadenas que representa el comando que ejecuta el contenedor para determinar si está en buen estado. La matriz de cadenas puede comenzar por
CMDpara ejecutar los argumentos del comando directamente, o porCMD-SHELLpara ejecutar el comando con el shell predeterminado del contenedor. Si no se especifica ninguno, se utilizaCMD.Al registrar una definición de tarea en la Consola de administración de AWS, utilice una lista de comandos separados por comas. Estos comandos se convierten en una cadena una vez que se cree la definición de tareas. A continuación, se muestra un ejemplo de entrada de comprobación de estado.
CMD-SHELL, curl -f http://localhost/ || exit 1Cuando registre una definición de tarea mediante el panel de JSON de la Consola de administración de AWS, la AWS CLI o las API, incluya la lista de comandos entre corchetes. A continuación, se muestra un ejemplo de entrada de comprobación de estado.
[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]Un código de salida de 0, sin salida
stderr, indica una ejecución correcta y cualquier código de salida distinto de cero indica un error. interval-
El periodo de tiempo (en segundos) entre cada comprobación de estado. Es posible especificar entre 5 y 300 segundos. El valor predeterminado es de 30 segundos.
timeout-
El periodo de tiempo (en segundos) que hay que esperar para que una comprobación de estado se realice correctamente antes de que se considere un error. Puede especificar entre 2 y 60 segundos. El valor predeterminado es 5 segundos.
retries-
Es el número de veces que se reintenta una comprobación de estado fallida antes de que se considere que el contenedor está en mal estado. Puede especificar entre 1 y 10 reintentos. El valor predeterminado es tres reintentos.
startPeriod-
El periodo de gracia opcional dentro del cual se puede proporcionar tiempo a los contenedores para el arranque antes de que una comprobación de estado fallida se cuente para el número máximo de reintentos. Puede especificar un valor comprendido entre 0 y 300 segundos. De forma predeterminada,
startPeriodestá deshabilitado.Si una comprobación de estado se realiza correctamente dentro del periodo indicado en
startPeriod, se considera que el estado del contenedor es correcto y los errores posteriores se contabilizan al calcular el número máximo de intentos.
Entorno
cpu-
Tipo: entero
Obligatorio: no
El número de unidades de
cpuque el agente de contenedor de Amazon ECS reserva para el contenedor. En Linux, este parámetro se corresponde conCpuSharesen la sección Crear un contenedor. Este campo es opcional para las tareas que se ponen en marcha en Instancias administradas de Amazon ECS. La cantidad total de CPU reservada para todos los contenedores dentro de una tarea debe ser menor que el valor
cpude la tarea.Los contenedores de Linux comparten unidades de CPU no asignadas con otros contenedores en la instancia de contenedor en la misma proporción que la cantidad asignada. Por ejemplo, supongamos que ejecuta una tarea de contenedor único en un tipo de instancia de un solo núcleo con 512 unidades de CPU especificadas para dicho contenedor. Además, esa tarea es la única que se ejecuta en la instancia de contenedor. En este ejemplo, el contenedor puede utilizar la cuota completa de 1024 unidades de CPU en un momento dado. Sin embargo, supongamos que lanzó otra copia de la misma tarea en esa instancia de contenedor. Cada tarea tiene garantizado un mínimo de 512 unidades de CPU cuando sea necesario. Del mismo modo, si el otro contenedor no utiliza la CPU restante, cada contenedor puede aumentar el uso de la CPU. Sin embargo, si ambas tareas estuvieran 100 % activas todo el tiempo, están limitadas a 512 unidades de CPU.
En las instancias de contenedor de Linux, el daemon de Docker en la instancia de contenedor utiliza el valor de CPU para calcular las proporciones de cuota de CPU relativas para los contenedores en ejecución. El valor de cuota de CPU válido mínimo que permite el kernel de Linux es 2 y el valor de cuota de CPU válido máximo que permite el kernel de Linux es 262144. Sin embargo, el parámetro de CPU no es obligatorio y puede utilizar valores de CPU por debajo de 2 y por encima de 262144 en las definiciones de contenedor. Para valores de CPU por debajo de 2 (incluido el valor nulo) y por encima de 262144, el comportamiento varía en función de la versión de agente de contenedor de Amazon ECS:
Para ver otros ejemplos, consulte Cómo administra Amazon ECS los recursos de CPU y memoria
. gpu-
Tipo: objeto ResourceRequirement
Obligatorio: no
El número de
GPUsfísicas que el agente de contenedor de Amazon ECS reserva para el contenedor. El número de GPU reservadas para todos los contenedores de una tarea no debe superar el número de GPU disponibles en la instancia de contenedor en la que se lanza la tarea. Para obtener más información, consulte Definiciones de tareas de Amazon ECS para cargas de trabajo de GPU. Elastic Inference accelerator-
nota
Este parámetro no es compatible con los contenedores alojados en Instancias administradas de Amazon ECS.
Tipo: objeto ResourceRequirement
Obligatorio: no
Para el tipo
InferenceAccelerator, elvaluecoincide con eldeviceNamepara unInferenceAcceleratorespecificado en una definición de tareas. Para obtener más información, consulte Nombre del acelerador de Elastic Inference (en desuso). essential-
Tipo: Booleano
Obligatorio: no
Supongamos que el parámetro
essentialde un contenedor se marca comotruey dicho contenedor falla o se detiene por algún motivo. A continuación, se detienen todos los demás contenedores que forman parte de la tarea. Si el parámetroessentialde un contenedor se marca comofalse, su error no afecta al resto de los contenedores en una tarea. Si este parámetro se omite, se supone que un contenedor es esencial.Todas las tareas deben tener al menos un contenedor esencial. Supongamos que tiene una aplicación compuesta por varios contenedores. Agrupe los contenedores que se utilizan para un fin común en componentes y sepárelos en diversas definiciones de tareas. Para obtener más información, consulte Diseño de la arquitectura de su aplicación para Amazon ECS.
"essential": true|false entryPoint-
importante
Las primeras versiones del agente de contenedor de Amazon ECS no tratan correctamente los parámetros
entryPoint. Si tiene problemas al utilizarentryPoint, actualice el agente de contenedor o introduzca los comandos y argumentos como elementos de matriz decommanden su lugar.Tipo: matriz de cadenas
Obligatorio: no
El punto de entrada que se transfiere al contenedor.
"entryPoint": ["string", ...] command-
Tipo: matriz de cadenas
Obligatorio: no
El comando que se transfiere al contenedor. Este parámetro se corresponde con
Cmden el comando create-container y el parámetroCOMMANDpara ejecutar el docker. Si hay varios argumentos, asegúrese de que cada uno de ellos sea una cadena distinta en la matriz."command": ["string", ...] workingDirectory-
Tipo: cadena
Requerido: no
El directorio de trabajo para ejecutar los comandos dentro del contenedor. Este parámetro se corresponde con
WorkingDiren la sección Crear un contenedorde la API remota de Docker y con la opción --workdirde docker run. "workingDirectory": "string" environmentFiles-
Tipo: matriz de objetos
Obligatorio: no
Una lista de archivos que contienen las variables de entorno que transferir a un contenedor. Este parámetro se corresponde con la opción
--env-filedel comando de docker run.Puede especificar hasta diez archivos de entorno. El archivo debe tener una extensión de archivo
.envCada línea de un archivo de entorno contiene una variable de entorno con el formatoVARIABLE=VALUE. Las líneas que comienzan por#se tratan como comentarios y se ignoran.Si hay variables de entorno individuales especificadas en la definición del contenedor, tienen prioridad sobre las variables que contiene un archivo de entorno. Si se especifican varios archivos de entorno que contienen la misma variable, se procesan en orden descendente. Le recomendamos que utilice nombres de variables únicos. Para obtener más información, consulte Transferencia de una variable de entorno individual a un contenedor de Amazon ECS.
value-
Tipo: cadena
Obligatorio: sí
Nombre de recurso de Amazon (ARN) del objeto Amazon S3 que contiene el archivo de variable de entorno.
type-
Tipo: cadena
Obligatorio: sí
Tipo de archivo que se utilizará. El único valor admitido es
s3.
environment-
Tipo: matriz de objetos
Obligatorio: no
Las variables de entorno a transferir a un contenedor. Este parámetro se corresponde con
Enven el comando create-container de docker y la opción--envcon el comando de docker run.importante
No es recomendable que utilice variables del entorno en texto sin formato para información confidencial, como los datos de las credenciales.
name-
Tipo: cadena
Obligatorio: sí, si se utiliza
environmentEl nombre de la variable de entorno.
value-
Tipo: cadena
Obligatorio: sí, si se utiliza
environmentEl valor de la variable de entorno.
"environment" : [ { "name" : "string", "value" : "string" }, { "name" : "string", "value" : "string" } ] secrets-
Tipo: matriz de objetos
Obligatorio: no
Un objeto que representa el secreto que se expone en el contenedor. Para obtener más información, consulte Transferencia de datos confidenciales a un contenedor de Amazon ECS.
name-
Tipo: cadena
Obligatorio: sí
El valor que se ha de establecer como la variable de entorno en el contenedor.
valueFrom-
Tipo: cadena
Obligatorio: sí
El secreto para exponer en el contenedor. Los valores admitidos son el nombre de recurso de Amazon (ARN) completo del secreto de AWS Secrets Manager o el ARN completo del parámetro en el almacén de parámetros de AWS Systems Manager.
nota
Si el parámetro del Almacén de parámetros de Systems Manager o el parámetro de Secrets Manager existe en la misma Región de AWS que la tarea que se va a lanzar, se puede utilizar el ARN completo o el nombre del secreto. Si el parámetro existe en una región distinta, el ARN completo debe especificarse.
"secrets": [ { "name": "environment_variable_name", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" } ]
Seguridad
privileged-
Tipo: Booleano
Obligatorio: no
Cuando este parámetro es
true, al contenedor se le conceden privilegios elevados en la instancia de contenedor de host, (similares a los de un usuarioroot) Este parámetro se corresponde conPrivilegeden el comando create-container de docker y la opción--privilegedse corresponde con docker run. user-
Tipo: cadena
Requerido: no
El usuario que se utiliza dentro del contenedor. Este parámetro se corresponde con
Useren el comando create-container de docker y la opción--usercon docker run.importante
Cuando ejecute tareas utilizando el modo de red
host, no ejecute contenedores con el usuario raíz (UID 0). Se recomienda utilizar un usuario que no sea usuario raíz para aumentar la seguridad.Puede especificar el elemento
userutilizando los siguientes formatos. Si se especifica un UID o GID, debe especificarlo como número entero positivo.-
user -
user:group -
uid -
uid:gid -
user:gid -
uid:group
-
readonlyRootFilesystem-
Tipo: Booleano
Obligatorio: no
Cuando este parámetro es
true, al contenedor se le concede un sistema de archivos raíz de solo lectura. Este parámetro se corresponde conReadonlyRootfsen el comando create-container de docker y la opción--read-onlycon docker run. dockerSecurityOptions-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: matriz de cadenas
Obligatorio: no
Una lista de cadenas para proporcionar etiquetas para sistemas de seguridad multinivel SELinux y AppArmor. Este campo no es válido para contenedores en tareas que utilizan Fargate.
ulimits-
Tipo: matriz de objetos Ulimit
Obligatorio: no
Una lista de
ulimitsque definir en el contenedor. Si se especifica un valor ulimit en la definición de una tarea, anula los valores predeterminados establecidos por Docker. Este parámetro se corresponde conUlimitsen el comando create-container de docker y la opción--ulimitse corresponde con docker run. Los valores de nomenclatura válidos se muestran en el tipo de datos Ulimit.Las tareas de Amazon ECS que se alojan en Fargate utilizan los valores de los límites de recursos predeterminados que establece el sistema, salvo el parámetro de límite de recursos
nofileque anula Fargate. El límite de recursosnofiledefine una restricción en el número de archivos abiertos que puede utilizar un contenedor. El límite flexiblenofilepredeterminado es1024y el límite invariable predeterminado es65535.Este parámetro requiere la versión 1.18 de la API remota de Docker o superior en su instancia de contenedor. Para comprobar la versión de la API remota de Docker en su instancia de contenedor, inicie sesión en su instancia de contenedor y ejecute el comando siguiente: .:
sudo docker version --format '{{.Server.APIVersion}}'
dockerLabels-
nota
Este parámetro no es compatible con los contenedores alojados en Instancias administradas de Amazon ECS.
Tipo: mapa de cadena a cadena
Obligatorio: no
Un mapa de clave/valor de etiquetas que agregar al contenedor. Este parámetro se corresponde con
Labelsen el comando create-container de docker y la opción--labelse corresponde con docker run.Este parámetro requiere la versión 1.18 de la API remota de Docker o superior en su instancia de contenedor.
"dockerLabels": {"string": "string" ...}
Configuración de red
disableNetworking-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: Booleano
Obligatorio: no
Cuando este parámetro es verdadero, la conexión en red está apagada dentro del contenedor.
El valor predeterminado es
false."disableNetworking": true|false links-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: matriz de cadenas
Obligatorio: no
El parámetro
linkpermite a los contenedores comunicarse entre sí sin la necesidad de mapeos de puerto. Este parámetro solo se admite si el modo de red de una definición de tarea se establece enbridge. El constructoname:internalNamees análogo aname:aliasen enlaces de Docker. Se admiten hasta 255 letras (mayúsculas y minúsculas), números, guiones y caracteres de subrayado.importante
Es posible que los contenedores que se colocan en la misma instancia de contenedor puedan comunicarse entre sí sin necesidad de enlaces ni asignaciones de puerto de host. El aislamiento de red en una instancia de contenedor se controla mediante los grupos de seguridad y la configuración de VPC.
"links": ["name:internalName", ...] hostname-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: cadena
Requerido: no
El nombre de host que utilizar para el contenedor. Este parámetro se asigna a
Hostnameen el comando create-container de docker y la opción--hostnamecon docker run."hostname": "string" dnsServers-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: matriz de cadenas
Obligatorio: no
Una lista de servidores DNS que se presentan al contenedor.
"dnsServers": ["string", ...] extraHosts-
nota
Este parámetro no es compatible con los contenedores que utilizan el modo de red
awsvpc.Tipo: matriz de objetos
Obligatorio: no
Una lista de nombres de host y mapeos de direcciones IP que añadir al archivo
/etc/hostsen el contenedor.Este parámetro se corresponde con
ExtraHostsen el comando create-container de docker y la opción--add-hostse corresponde con docker run."extraHosts": [ { "hostname": "string", "ipAddress": "string" } ... ]hostname-
Tipo: cadena
Obligatorio: sí, si se utilizan
extraHosts.El nombre de host para utilizar en la entrada
/etc/hosts. ipAddress-
Tipo: cadena
Obligatorio: sí, si se utilizan
extraHosts.La dirección IP para utilizar en la entrada
/etc/hosts.
Almacenamiento y registro
readonlyRootFilesystem-
Tipo: Booleano
Obligatorio: no
Cuando este parámetro es verdadero, al contenedor se le concede acceso de solo lectura a su sistema de archivos raíz. Este parámetro se corresponde con
ReadonlyRootfsen el comando create-container de docker y la opción--read-onlycon docker run.El valor predeterminado es
false."readonlyRootFilesystem": true|false mountPoints-
Tipo: matriz de objetos
Obligatorio: no
Puntos de montaje para los volúmenes de datos del contenedor. Este parámetro asigna a
Volumesen la API create-container de Docker y la opción--volumea 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.
volumesFrom-
Tipo: matriz de objetos
Obligatorio: no
Volúmenes de datos que montar desde otro contenedor. Este parámetro se corresponde con
VolumesFromen el comando create-container de docker y la opción--volumes-fromse corresponde con docker run.sourceContainer-
Tipo: cadena
Obligatorio: sí, si se utiliza
volumesFromEl nombre del volumen contenedor desde el que montar los volúmenes.
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.
"volumesFrom": [ { "sourceContainer": "string", "readOnly": true|false } ] logConfiguration-
Tipo: objeto LogConfiguration
Obligatorio: no
La especificación de configuración de registros para el contenedor.
Para obtener ejemplos de definiciones de tareas que utilizan una configuración de registro, consulte Ejemplo de definiciones de tareas de Amazon ECS.
Este parámetro se corresponde con
LogConfigen el comando create-container de docker y la opción--log-driverse corresponde con docker run. De forma predeterminada, los contenedores utilizan el mismo controlador de registro que el daemon de Docker. No obstante, el contenedor podría utilizar un controlador de registro diferente al daemon de Docker especificando un controlador de registro con este parámetro en la definición de contenedor. Para utilizar un controlador de registro distinto para un contenedor, el sistema de registro se debe configurar correctamente en la instancia de contenedor (o en un servidor de registro distinto para opciones de registro remotas).Tenga cuenta lo siguiente al especificar una configuración de registros para los contenedores:
-
Amazon ECS admite un subconjunto de controladores de registro disponibles para el daemon de Docker.
-
Este parámetro requiere la versión 1.18 o posterior de la API remota de Docker en la instancia de contenedor.
"logConfiguration": { "logDriver": "awslogs",""splunk", "awsfirelens", "options": {"string": "string" ...}, "secretOptions": [{ "name": "string", "valueFrom": "string" }] }logDriver-
Tipo: cadena
Valores válidos:
"awslogs","splunk","awsfirelens"Obligatorio: sí, si se utiliza
logConfigurationEl controlador de registro que utilizar para el contenedor. De forma predeterminada, los valores válidos mostrados anteriormente son controladores de registro con los que el agente de contenedor de Amazon ECS se puede comunicar.
Los controladores de registro admitidos son
awslogs,splunkyawsfirelens.Para obtener más información acerca del uso del controlador de registro
awslogsen las definiciones de tareas para enviar los registros de contenedor a CloudWatch Logs, consulte Envío de registros de Amazon ECS a CloudWatch .Para obtener más información acerca del uso del controlado de registros de
awsfirelens, consulte Envío de registros de Amazon ECS a un servicio de AWS o AWS Partner.nota
Si tiene un controlador personalizado que no figura en la lista, puede adaptar el proyecto del agente de contenedor de Amazon ECS que está disponible en GitHub
y personalizarlo para que funcione con dicho controlador. Le recomendamos enviar solicitudes de inserción para los cambios que desea que incluyamos. No obstante, actualmente no admitimos la ejecución de copias modificadas de este software. Este parámetro requiere la versión 1.18 de la API remota de Docker o superior en su instancia de contenedor.
options-
Tipo: mapa de cadena a cadena
Obligatorio: no
Las opciones de configuración de asignación clave/valor para enviar al controlador de registro.
Las opciones que puede especificar dependen del controlador de registro. Algunas de las opciones que puede especificar cuando utiliza el router
awslogspara enrutar los registros a Amazon CloudWatch son las siguientes:awslogs-create-group-
Obligatorio: no
Especifique si desea que el grupo de registro se cree automáticamente. Si no se especifica esta opción, el valor predeterminado es
false.nota
Su política de IAM debe incluir el permiso
logs:CreateLogGroupantes de intentar utilizarawslogs-create-group. awslogs-region-
Obligatorio: sí
Especifique la Región de AWS a la que el controlador de registro
awslogsenviará los registros de Docker. Puede elegir enviar todos los registros desde clústeres de diferentes regiones a una única región de CloudWatch Logs. Esto es para que todos sean visibles en una sola ubicación. De lo contrario, puede separarlos por región para obtener un mayor grado de detalle. Asegúrese de que el grupo de registro especificado exista en la región que especifique con esta opción. awslogs-group-
Obligatorio: sí
Asegúrese de especificar un grupo de registro al que el controlador de registros
awslogsenvíe sus flujos de registros. awslogs-stream-prefix-
Obligatorio: sí
Utilice esta opción
awslogs-stream-prefixpara asociar un flujo de registro con el prefijo especificado, el nombre del contenedor y el ID de la tarea de Amazon ECS a la que pertenece el contenedor. Si especifica un prefijo con esta opción, el flujo de registro adopta el siguiente formato.prefix-name/container-name/ecs-task-idSi no especifica un prefijo con esta opción, el flujo de registro se nombra según el ID del contenedor que asigna el daemon de Docker en la instancia de contenedor. Dado que es difícil realizar un seguimiento de los registros hasta el contenedor que los envió solo con el ID de contenedor de Docker (que solo está disponible en la instancia de contenedor), le recomendamos que especifique un prefijo con esta opción.
En el caso de los servicios de Amazon ECS, puede utilizar el nombre del servicio como prefijo. De este modo, puede realizar un seguimiento de flujos de registros hasta el servicio al que pertenece el contenedor, el nombre del contenedor que los envió y el ID de la tarea a la que pertenece el contenedor.
Debe especificar un prefijo de flujo para los registros para que aparezcan en el panel de registros al utilizar la consola de Amazon ECS.
awslogs-datetime-format-
Obligatorio: no
Esta opción define un patrón de inicio de varias líneas en formato
strftimede Python. Un mensaje de registro consta de una línea que coincide con el patrón y de líneas siguientes que no coinciden con el patrón. La línea coincidente es el delimitador entre los mensajes de registro.Un ejemplo de caso de uso de este formato es para analizar la salida como un volcado de pila, que de lo contrario podría registrarse en varias entradas. El patrón correcto permite capturarla en una sola entrada.
Para obtener más información, consulte awslogs-datetime-format
. No puede configurar las opciones
awslogs-datetime-formatyawslogs-multiline-patterna la vez.nota
El registro de varias líneas realiza análisis de las expresiones regulares y correspondencia de todos los mensajes de registro. Esto puede tener un impacto negativo sobre el rendimiento de registro.
awslogs-multiline-pattern-
Obligatorio: no
Esta opción define un patrón de inicio de varias líneas que utiliza una expresión regular. Un mensaje de registro consta de una línea que coincide con el patrón y de líneas siguientes que no coinciden con el patrón. La línea coincidente es el delimitador entre los mensajes de registro.
Para obtener más información, consulte awslogs-multiline-pattern
. Esta opción se pasa por alto si también se ha configurado
awslogs-datetime-format.No puede configurar las opciones
awslogs-datetime-formatyawslogs-multiline-patterna la vez.nota
El registro de varias líneas realiza análisis de las expresiones regulares y correspondencia de todos los mensajes de registro. Esto puede tener un impacto negativo sobre el rendimiento de registro.
mode-
Obligatorio: no
Valores válidos:
non-blocking|blockingEsta opción define el modo de entrega de los mensajes de registro del contenedor al controlador de registro de
awslogs. El modo de entrega que elige afecta la disponibilidad de las aplicaciones cuando se interrumpe el flujo de registros desde el contenedor.Si utiliza el modo
blockingy se interrumpe el flujo de registros a CloudWatch, se bloquearán las llamadas desde el código del contenedor para escribir en los flujosstdoutystderr. Como resultado, el hilo del registro de la aplicación se bloqueará. Esto puede provocar que la aplicación deje de responder y que se produzca un error en la comprobación del estado del contenedor.Si utiliza el modo
non-blocking, los registros del contenedor se almacenan en un búfer intermedio en memoria configurado con la opción.max-buffer-sizeEsto evita que la aplicación deje de responder cuando los registros no se puedan enviar a CloudWatch. Le recomendamos que utilice este modo si quiere garantizar la disponibilidad del servicio y si no hay problema con la pérdida de registros. Para obtener más información, consulte Evitar la pérdida de registros con el modo sin bloqueo en el controladorawslogsde registros del contenedor. max-buffer-size-
Obligatorio: no
Valor predeterminado: #:
1mCuando se utiliza el modo
non-blocking, la opción de registromax-buffer-sizecontrola el tamaño del búfer que se utiliza para el almacenamiento intermedio de mensajes. Asegúrese de especificar un tamaño de búfer adecuado en función de su aplicación. Cuando el búfer se llene, no se podrán almacenar más registros. Los registros que no se pueden almacenar se pierden.
Para enrutar los registros mediante el enrutador de registros
splunk, debe especificar unsplunk-tokeny unsplunk-url.Cuando utiliza el enrutador de registros
awsfirelenspara enrutar a un destino de Servicio de AWS o AWS Partner Network para el almacenamiento y análisis de registros, puede configurar la opciónlog-driver-buffer-limithasta el límite del número de eventos almacenados en búfer en la memoria antes de enviarlos al contenedor del enrutador de registros. Puede ayudar a resolver el posible problema de pérdida de registros porque un alto rendimiento podría provocar que se quede sin memoria para el búfer dentro de Docker. Para obtener más información, consulte Configuración de los registros de Amazon ECS para conseguir un alto rendimiento.Otras opciones que puede especificar cuando se utiliza
awsfirelenspara enrutar los registros dependen del destino. Al exportar registros a Amazon Data Firehose, puede especificar la Región de AWS conregiony el nombre del flujo de registros condelivery_stream.Al exportar registros a Amazon Kinesis Data Streams, puede especificar una Región de AWS con
regiony un nombre de flujo de datos constream.Al exportar registros a Amazon OpenSearch Service, puede especificar opciones como
Name,Host(punto final de OpenSearch Service sin protocolo),Port,Index,Type,Aws_auth,Aws_region,Suppress_Type_Nameytls.Al exportar registros a Amazon S3, puede especificar el bucket mediante la opción
bucket. También puede especificarregion,total_file_size,upload_timeoutyuse_put_objectcomo opciones.Este parámetro requiere la versión 1.19 de la API remota de Docker o superior en su instancia de contenedor.
secretOptions-
Tipo: matriz de objetos
Obligatorio: no
Un objeto que representa el secreto que transferir a la configuración de registro. Los secretos utilizados en la configuración de registros pueden incluir un token de autenticación, un certificado o una clave de cifrado. Para obtener más información, consulte Transferencia de datos confidenciales a un contenedor de Amazon ECS.
name-
Tipo: cadena
Obligatorio: sí
El valor que se ha de establecer como la variable de entorno en el contenedor.
valueFrom-
Tipo: cadena
Obligatorio: sí
El secreto que exponer a la configuración de registro del contenedor.
"logConfiguration": { "logDriver": "splunk", "options": { "splunk-url": "https://cloud.splunk.com:8080", "splunk-token": "...", "tag": "...", ... }, "secretOptions": [{ "name": "splunk-token", "valueFrom": "/ecs/logconfig/splunkcred" }] }
-
firelensConfiguration-
Tipo: objeto FirelensConfiguration
Obligatorio: no
La configuración de FireLens para el contenedor. Esto se utiliza para especificar y configurar un enrutador de registro para registros de contenedores. Para obtener más información, consulte Envío de registros de Amazon ECS a un servicio de AWS o AWS Partner.
{ "firelensConfiguration": { "type": "fluentd", "options": { "KeyName": "" } } }options-
Tipo: mapa de cadena a cadena
Obligatorio: no
Las opciones de asignación de clave/valor que se deben usar al configurar el enrutador de registros. Este campo es opcional y se puede utilizar para especificar un archivo de configuración personalizado o agregar metadatos adicionales, como la tarea, la definición de tareas, el clúster y detalles de la instancia de contenedor al evento de registro. Si se especifica, la sintaxis que se va a utilizar es
"options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::. Para obtener más información, consulte Definición de tareas de Amazon ECS de ejemplo: enrutar registros a FireLens.amzn-s3-demo-bucket/fluent.conf|filepath"} type-
Tipo: cadena
Obligatorio: sí
El router de registros que se va a utilizar. Los valores válidos son
fluentdofluentbit.
Requisitos de recursos
resourceRequirements-
Tipo: matriz de objetos ResourceRequirement
Obligatorio: no
El tipo y la cantidad de un recurso para asignar a un contenedor. Actualmente, el único recurso admitido es una GPU.
type-
Tipo: cadena
Obligatorio: sí
El tipo de recurso para asignar a un contenedor. El valor admitido es
GPU. value-
Tipo: cadena
Obligatorio: sí
El valor del tipo de recurso especificado.
Si se utiliza el tipo
GPU, el valor es el número deGPUsfísicas que el agente de contenedor de Amazon ECS reserva para el contenedor. El número de unidades GPU reservadas para todos los contenedores de una tarea no puede superar al número de GPU disponibles en la instancia de contenedor en la que se lanza la tarea.Las GPU no están disponibles para las tareas que se ponen en marcha en Fargate.
Tiempos de espera de contenedor
startTimeout-
Tipo: entero
Obligatorio: no
Valores de ejemplo: :
120Tiempo que hay que esperar (en segundos) antes de desistir en resolver dependencias para un contenedor.
Por ejemplo, se especifican dos contenedores en una definición de tareas donde
containerAtenga una dependencia encontainerBque alcance un estadoCOMPLETE,SUCCESSoHEALTHY. Si se especifica un valorstartTimeoutparacontainerBy este no alcanza el estado deseado en ese tiempo,containerAno se inicia.nota
Si un contenedor no cumple una restricción de dependencia o agota el tiempo de espera antes de cumplir la restricción, Amazon ECS no adelanta los contenedores dependientes a su siguiente estado.
El valor máximo es de 600 segundos (10 minutos).
stopTimeout-
Tipo: entero
Obligatorio: no
Valores de ejemplo: :
120Duración de tiempo (en segundos) que esperar a que el contenedor se cancelen de forma forzada si no sale de forma normal por sí mismo.
Si no se especifica el parámetro, se utiliza el valor predeterminado de 30 segundos. El valor máximo es de 86,400 segundos (24 horas).
Dependencia de contenedor
dependsOn-
Tipo: matriz de objetos ContainerDependency
Obligatorio: no
Las dependencias definidas para el inicio y apagado del contenedor. Un contenedor puede contener varias dependencias. Cuando una dependencia se define para el inicio del contenedor, se invierte para el apagado del contenedor. Para ver un ejemplo, consulta Dependencia de contenedor.
nota
Si un contenedor no cumple una restricción de dependencia o agota el tiempo de espera antes de cumplir la restricción, Amazon ECS no adelanta los contenedores dependientes a su siguiente estado.
Este parámetro requiere que la tarea o el servicio utilicen la versión de la plataforma
1.3.0o una posterior (Linux) o1.0.0(Windows)."dependsOn": [ { "containerName": "string", "condition": "string" } ]containerName-
Tipo: cadena
Obligatorio: sí
El nombre del contenedor que debe cumplir la condición especificada.
condition-
Tipo: cadena
Obligatorio: sí
La condición de dependencia del contenedor. Están disponibles las siguientes condiciones y su comportamiento:
-
START: esta condición simula el comportamiento de enlaces y volúmenes en la actualidad. La condición valida que un contenedor dependiente se inicia antes de permitir que se inicien otros contenedores. -
COMPLETE: esta condición valida que un contenedor dependiente se ejecute hasta su finalización (se cierre) antes de permitir que otros contenedores se inicien. Esto puede resultar útil para contenedores no esenciales que ejecutan un script y, a continuación, se cierran. Esta condición no se puede establecer en un contenedor esencial. -
SUCCESS: esta condición es la misma queCOMPLETE, pero además requiere que el contenedor se cierre con un estadozero. Esta condición no se puede establecer en un contenedor esencial. -
HEALTHY: esta condición valida que el contenedor dependiente pase su comprobación de estado de contenedor antes de permitir que otros contenedores se inicien. Esto requiere que el contenedor dependiente tenga configuradas las comprobaciones de estado en la definición de tarea. Esta condición solo se confirma durante el inicio de tarea.
-
Controles del sistema
systemControls-
Tipo: objeto SystemControl
Obligatorio: no
Una lista de parámetros de kernel del espacio de nombres que se van a establecer en el contenedor. Este parámetro se corresponde con
Sysctlsen el comando create-container de docker y la opción--sysctlcon docker run. Por ejemplo, puede configurar la configuraciónnet.ipv4.tcp_keepalive_timepara mantener conexiones de mayor duración.No se recomienda especificar parámetros
systemControlsrelacionados con la red para varios contenedores en una única tarea que también utilice el modo de redawsvpcuhost. De ese modo, se obtienen las siguientes desventajas:-
Si establece
systemControlsen cualquier contenedor, se aplicará a todos los contenedores de la tarea. Si establece diferentes parámetrossystemControlspara varios contenedores en una sola tarea, el contenedor que se inicie en último lugar determinará quésystemControlsse aplicará.
Si configura un espacio de nombres de recursos de IPC para usarlo para los contenedores de la tarea, se aplican las siguientes condiciones a los controles del sistema. Para obtener más información, consulte Modo IPC.
-
Para las tareas que usan el modo de IPC
host, no se admiten lossystemControlsdel espacio de nombres IPC. -
Para las tareas que utilizan el modo de IPC
task, los valores desystemControlsdel espacio de nombres IPC se aplican a todos los contenedores de una tarea.
"systemControls": [ { "namespace":"string", "value":"string" } ]namespace-
Tipo: cadena
Requerido: no
El parámetro de kernel del espacio de nombres para el que se va a establecer un
value.Valores de espacio de nombres IPC válidos:
"kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced"ySysctlsque comiencen por"fs.mqueue.*"Valores de espacio de nombre de red válidos:
Sysctlsque comiencen con"net.*". En Fargate solo se aceptan losSysctlscon espacios de nombre que existen dentro del contenedor.Todos estos valores son compatibles con Fargate.
value-
Tipo: cadena
Requerido: no
El valor del parámetro de kernel del espacio de nombres especificado en
namespace.
-
Interactivo
interactive-
Tipo: Booleano
Obligatorio: no
Si este parámetro es
true, puede implementar aplicaciones en contenedores que requieran la asignación destdino untty. Este parámetro se corresponde conOpenStdinen el comando create-container de docker y la opción--interactivecon docker run.El valor predeterminado es
false.
Pseudo terminal
pseudoTerminal-
Tipo: Booleano
Obligatorio: no
Cuando este parámetro es
true, se asigna un TTY. Este parámetro se corresponde conTtyen el comando create-container de docker y la opción--ttycon docker run.El valor predeterminado es
false.
Parámetros de Linux
linuxParameters-
Tipo: objeto LinuxParameters
Obligatorio: no
Modificaciones específicas de Linux que se aplican al contenedor, como las capacidades de kernel de Linux.
capabilities-
Tipo: objeto KernelCapabilities
Obligatorio: no
Las capacidades de Linux para el contenedor que se añaden a la configuración predeterminada proporcionada por Docker o se eliminan de ella.
devices-
Tipo: matriz de objetos Dispositivo
Obligatorio: no
Cualquier dispositivo host que exponer en el contenedor. Este parámetro se corresponde con
Devicesen el comando create-container de docker y la opción--devicecon docker run. initProcessEnabled-
Tipo: Booleano
Obligatorio: no
Ejecute un proceso
initdentro del contenedor que reenvíe señales y aproveche procesos. Este parámetro se corresponde con la opción--initcon docker run. maxSwap-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: entero
Obligatorio: no
La cantidad total de memoria de intercambio (en MiB) que puede utilizar un contenedor. Este parámetro se traduce en la opción
--memory-swapde docker run donde el valor es la suma de la memoria del contenedor más el valor demaxSwap. swappiness-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: entero
Obligatorio: no
Esta opción le permite ajustar el comportamiento de intercambio de memoria de un contenedor. Un valor
swappinessde0impide que ocurra el intercambio a menos que sea absolutamente necesario. Un valor deswappinessde100incrementa al máximo el intercambio de páginas. Los valores válidos son números enteros comprendidos entre0y100. Si no se especifica el parámetroswappiness, se utiliza el valor predeterminado de60. Si no se especifica ningún valor paramaxSwap, este parámetro se omite. Este parámetro se corresponde con la opción--memory-swappinesscon docker run. -
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: entero
Obligatorio: no
El tamaño (en MiB) del volumen
/dev/shm. Este parámetro se corresponde con la opción--shm-sizecon docker run. tmpfs-
nota
Este parámetro no es compatible con las tareas que se ponen en marcha en Instancias administradas de Amazon ECS.
Tipo: matriz de objetos Tmpfs
Obligatorio: no
La ruta del contenedor, las opciones de montaje y el tamaño (en MiB) del tmpfs montado. Este parámetro se corresponde con la opción
--tmpfscon docker run.