Ошибка проверки исходного кода приложения ECS: мы ожидали токен VALUE, но получили: START_ARRAY - PullRequest
0 голосов
/ 23 января 2019

Я создаю многоконтейнерный докер на основе Elastic Beanstalk и всякий раз, когда я запускаю eb deploy

Я получаю ошибку ECS Application sourcebundle validation error: We expected a VALUE token but got: START_ARRAY

Думаю, что-то не так с моим Dockerrun.aws.json, но я не могу понять, что это такое.

Вот мой dockerrun.aws.json

{
"AWSEBDockerrunVersion": 2,
"containerDefinitions": [
    {
        "environment": [
            {
                "name": "ELASTICSEARCH_URL",
                "value": "elasticsearch:9200"
            }
        ],
        "essential": true,
        "image": "902260087874.dkr.ecr.ap-southeast-1.amazonaws.com/the-medical-agora",
        "memory": 128,
        "links": [
            "db",
            "elasticsearch"
        ],
        "mountPoints": [
            {
                "containerPath": "/usr/src/app",
                "sourceVolume": "."
            }
        ],
        "name": "app",
        "portMappings": [
            {
                "containerPort": 3000,
                "hostPort": 80
            }
        ]
    },
    {
        "memory": 128,
        "essential": true,
        "image": "postgres:10.3-alpine",
        "mountPoints": [
            {
                "containerPath": "/var/lib/postgresql/data",
                "sourceVolume": "Db"
            }
        ],
        "name": "db",
        "portMappings": [
            {
                "containerPort": 5432,
                "hostPort": 5432
            }
        ]
    },
    {
        "memory": 128,
        "essential": true,
        "image": "docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.4",
        "mountPoints": [
            {
                "containerPath": "/usr/share/elasticsearch/data",
                "sourceVolume": "Esdata1"
            }
        ],
        "name": "elasticsearch"
    }
],
"volumes": [
    {
        "host": {
            "sourcePath": "esdata1"
        },
        "name": "Esdata1"
    },
    {
        "host": {
            "sourcePath": "db"
        },
        "name": "Db"
    },
    {
        "host": {
            "sourcePath": "."
        },
        "name": "_"
    }
]
}

Что странно, потому что когда я запустил этот dockerrun.aws.json Схема JSON * linter , казалось, что все в порядке.

Проект также работает, когда я запускаю его с eb local run. Кажется, он ломается, только когда я внедряю его в Elastic Beanstalk.

1 Ответ

0 голосов
/ 30 января 2019

Эй, ребята, после прочтения документов из eb deploy я обнаружил проблему.

Хотя я исправил файл Dockerrun.aws.json, он не отражается на eb deploy, пока я не создам новый git commit.

Так что я просто набрал git add . и git commit, а затем набрал git push для хорошей меры.

После этого, когда я запустил eb deploy, он использовал мой новый Dockerrun.aws.json, и мои проблемы были решены.

...