Я пытаюсь запустить контейнер Docker в ECS в качестве задачи. Я создал базовое приложение express
, которое прослушивает порт 3000. Вот мои настройки AWS. У меня есть кластер ECS с одной задачей.
У меня в хранилище AWS есть контейнер, который выполняется как задача в этом кластере.
{
"executionRoleArn": "arn:aws:iam::035892600013:role/ecsTaskExecutionRole",
"containerDefinitions": [
{
"dnsSearchDomains": null,
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "/ecs/first-run-task-definition",
"awslogs-region": "us-west-2",
"awslogs-stream-prefix": "ecs"
}
},
"entryPoint": [],
"portMappings": [
{
"hostPort": 3000,
"protocol": "tcp",
"containerPort": 3000
}
],
"command": [],
"linuxParameters": null,
"cpu": 0,
"environment": [],
"ulimits": null,
"dnsServers": null,
"mountPoints": [],
"workingDirectory": null,
"dockerSecurityOptions": null,
"memory": null,
"memoryReservation": null,
"volumesFrom": [],
"image": "035892600013.dkr.ecr.us-west-2.amazonaws.com/test-express:latest",
"disableNetworking": null,
"healthCheck": null,
"essential": true,
"links": [],
"hostname": null,
"extraHosts": null,
"user": null,
"readonlyRootFilesystem": null,
"dockerLabels": null,
"privileged": null,
"name": "test-express"
}
],
"placementConstraints": [],
"memory": "512",
"taskRoleArn": null,
"compatibilities": [
"EC2",
"FARGATE"
],
"taskDefinitionArn": "arn:aws:ecs:us-west-2:035892600013:task-definition/first-run-task-definition:5",
"family": "first-run-task-definition",
"requiresAttributes": [
...
],
"requiresCompatibilities": [
"FARGATE"
],
"networkMode": "awsvpc",
"cpu": "256",
"revision": 5,
"status": "ACTIVE",
"volumes": []
}
Из JSON видно, что контейнер прослушивает порт 3000, но я не могу получить доступ к приложению на url:3000
. Это просто вращается. Что еще мне не хватает?
Я попытался свернуть приложение и ничего не получил. Завиток просто сидит в ожидании ответа. Я проверил, что приложение работает в контейнере. Вот журналы: