Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.2K
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda