Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.2K
Views
El contenedor no existe en la definición de la tarea.

en mi CI he configurado la implementación en el entorno de AWS ECS a través de un script bash

 **deploy.sh** [...] aws ecs register-task-definition --cli-input-json file://./deploy/skeleton.json TASK_DEFINITION_ARN=$(aws ecs --output text list-task-definitions --family-prefix "${PROJECT_NAME}" --sort DESC --query "taskDefinitionArns[0]") aws ecs update-service \ --cluster "${PROJECT_NAME}" \ --service "${PROJECT_NAME}" \ --task-definition "${TASK_DEFINITION_ARN}" \ --force-new-deployment \ --deployment-configuration "maximumPercent=200,minimumHealthyPercent=100" \ --desired-count ${DESIRED_COUNT} [...]

y

 **skeleton.json** { "family": "backend", "executionRoleArn": "arn:aws:iam::000000000000:role/XXXX", "taskRoleArn": "arn:aws:iam::0000000:role/XXXX", "networkMode": "awsvpc", "containerDefinitions": [{ "name": "csharp", "essential": true, "environment":[{ "name" : "CONNECTIONSTRINGS__Redis", "value" : "XXXX" }, { "name" : "CONNECTIONSTRINGS__Database", "value" : "XXX" }, { "name" : "ASPNETCORE_ENVIRONMENT", "value" : "XXX" }], "image": "00000000.dkr.ecr.eu-west-1.amazonaws.com/prj/backend:643105ef", "portMappings": [ { "containerPort": 80, "protocol": "tcp" } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/backend/", "awslogs-region": "eu-west-1", "awslogs-stream-prefix": "csharp" } } }], "requiresCompatibilities": [ "FARGATE" ], "cpu": "256", "memory": "512" }

cuando trato de implementar con el servicio de actualización, el cli responde con:

 An error occurred (InvalidParameterException) when calling the UpdateService operation: The container backend does not exist in the task definition.

pero si cambio en json el nombre del contenedor de csharp a backend , la implementación funciona.

¿Es eso un error? Gracias

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

El name del contenedor que defina en task_definition debe coincidir con el de la configuración de load_balancer container_name de ecs_service. Esto permitirá que el balanceador de carga asigne dinámicamente los puertos del contenedor y lo adjunte a los grupos de destino. ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Report

0

Estoy respondiendo esta vieja pregunta para señalar algunas notas para los Googlers.

Parece que hay dos problemas relacionados con este mensaje de error.

La primera es que el error en sí está equivocado, ya que el motivo no está relacionado directamente con la definición de la tarea y, en realidad, es el Load Balancer (LB) quejándose del nombre del contenedor que está tratando de encontrar en la definición de la tarea.

Como problema en sí mismo, al crear un LB, containerName se pasa como accesorio y, en la mayoría de los casos, es uno de los nombres de contenedor en la primera revisión de definición de tarea. Cambiar los nombres de los contenedores que se usan al crear un LB, mediante la creación de nuevas revisiones de tareas, probablemente generaría este error .

En este caso, recrear la definición de servicio y/o tarea probablemente resolvería el problema.

over 4 years ago · Santiago Trujillo Report

0

ECS le permite definir muchos contenedores dentro de una task definition , por lo que el ELB necesita saber a qué contenedor dirigir el tráfico, para hacerlo, almacena el nombre del contenedor con el que lo configuró durante la creación.

ingrese la descripción de la imagen aquí

Si recibe este error, probablemente no esté incluyendo un contenedor con el mismo Container Name , por lo que se queja de no saber a qué conectarse dentro de esa nueva definición de tarea.

TL;RD

Cambie el name del contenedor dentro de la task definition para que sea el mismo que el contenedor definido en la definición de la tarea que se está ejecutando actualmente (o la última implementada correctamente).

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!