获取错误:无法解析 Dockerrun JSON 文件:json:字符串结构标记的使用无效,试图将未加引号的值解组为 int

Aks*_*kur 1 json amazon-web-services docker amazon-elastic-beanstalk

我使用 JSON linter 检查这个 json 的有效性,它说没问题。但是当我将它部署到 AWS Elastic Beanstalk 时,它会出错并显示以下消息:

错误:无法解析 Dockerrun JSON 文件:json:无效使用 ,string struct 标记,试图将未加引号的值解组为 int

以下是Dockerrun.aws.json

{
  "AWSEBDockerrunVersion": 2,
  "containerDefinitions": [
    {
      "name": "delivery-slot-notifier",
      "image": "akshaylokur/delivery-slot-notifier:latest",
      "essential": true,
      "portMappings": [
        {
          "hostPort": 8080,
          "containerPort": 8080
        }
      ],
      "memory": 128
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

有什么线索吗?

谢谢

Ali*_*Ali 7

您应该在日志中看到该错误,因为您的 Dockerrun.aws.json 有一堆 Beanstalk 不支持的选项(看起来您正在将多容器 docker-run 用于单个容器?)。此外,对于单个 docker env,Version 必须为 1,而 2 用于多容器 env。这是一个可以工作的 Dockerrun.aws.json:

 {
  "AWSEBDockerrunVersion": "1",
  "Image": {
    "Name": "akshaylokur/delivery-slot-notifier:latest",
    "Update": "true"
  },
  "Ports": [
    {
      "hostPort": 8080,
      "containerPort": 8080
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

以下是Dockerrun.aws.json支持的所有选项