Estoy intentando configurar CI con AWS ECS y docker. Uso Codeship como una herramienta de CI, pero eso no debería importar mucho.
Hago los siguientes pasos en un script de shell:
aws ecs register-task-definition --family postgraphile --cli-input-json file:///deploy/ecs-task-def.json --region us-east-2
aws ecs run-task --task-definition postgraphile --cluster testcluster --region us-east-2
El script de Shell se ejecuta correctamente; sin embargo, veo un error en el resultado después de intentar ejecutar mi tarea de ECS:
{ "tasks": [], "failures": [ { "arn": "arn:aws:ecs:us-east-2:99999999999:container-instance/050ab165-7669-45d5-8be7-d990cf4fff42", "reason": "RESOURCE:MEMORY" } ] }
mi ecs-task-def.json
:
{ "containerDefinitions": [ { "name": "postgraphile-container", "image": "999999999999.dkr.ecr.us-east-2.amazonaws.com/test-repository", "memory": 500, "essential": true, "portMappings": [ { "hostPort": 5000, "containerPort": 5000 } ] } ], "volumes": [], "memory": "900", "cpu": "128", "placementConstraints": [], "family": "postgraphile", "taskRoleArn": "" }
Creo que ya verifiqué todos los límites de memoria... ¿me estoy perdiendo algo?
ACTUALIZACIÓN: después de un par de reinicios de la instancia ec2, finalmente puedo ejecutar la tarea ecs sin errores. Después de ejecutar la tarea varias veces, el error vuelve
Recibí este error al implementar un servicio en un clúster de ECS. Eliminar el servicio por completo y luego volver a implementarlo me ayudó a resolver este problema.
Enfrenté un error similar al implementar servicios en EC2 usando Docker. Estaba usando masilla, no CLI. docker images
Command Docker Images para obtener el tamaño de cada imagen. Descubrí que el tamaño total era mayor que el almacenamiento de mi instancia EC2. Aumenté el volumen de la instancia EC2 a 20 GB (EC2-->Volumen-->Modificar volumen). El problema fue resuelto. Más tarde me enfrenté al problema nuevamente después de múltiples pruebas y errores. Esta vez, descubrí que tenía muchas imágenes sin usar que se acumularon después de varios comandos de redacción de docker. Eliminé todos los contenedores, volúmenes e imágenes y se resolvió el error de memoria.