ECS 应用程序源包验证错误:我们期望一个 VALUE 令牌,但得到:START_ARRAY
Posted
技术标签:
【中文标题】ECS 应用程序源包验证错误:我们期望一个 VALUE 令牌,但得到:START_ARRAY【英文标题】:ECS Application sourcebundle validation error: We expected a VALUE token but got: START_ARRAY 【发布时间】:2019-06-16 13:39:08 【问题描述】:我正在 Elastic Beanstalk 上构建一个多容器 docker 构建,并且每当我运行 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 schema linter 时,它似乎运行良好。
当我使用eb local run
运行该项目时,它也可以工作。它似乎只有在我将其部署到 Elastic Beanstalk 时才会中断。
【问题讨论】:
【参考方案1】:大家好,在阅读了eb deploy
的docs 之后,我发现了问题。
虽然我修复了 Dockerrun.aws.json 文件,但它不会反映在 eb deploy
上,直到我创建一个新的 git commit
。
所以我只是跑了git add .
和git commit
,然后跑了git push
以取得好成绩。
之后,当我运行 eb deploy
时,它使用了我的新 Dockerrun.aws.json,我的问题得到了解决。
【讨论】:
以上是关于ECS 应用程序源包验证错误:我们期望一个 VALUE 令牌,但得到:START_ARRAY的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 cloudformation yaml 创建 AWS::ECS::Service,模型验证失败
AWS EBS 错误:源包为空或超过允许的最大大小:524288000
Eslint 期望在函数 array-callback-return 错误中返回一个值