Ошибка получения: не удалось проанализировать файл Dockerrun JSON: json: недопустимое использование строкового тега struct, попытка разобрать значение без кавычек в int - PullRequest
0 голосов
/ 26 апреля 2020

Я использовал JSON linter, чтобы проверить правильность этого json, и он говорит, что все в порядке. Но когда я внедряю это в AWS Elasti c Beanstalk, он выдает ошибку с сообщением:

Ошибка: не удалось проанализировать файл Dockerrun JSON: json: недопустимое использование строки тег 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
    }
  ]
}

Любые подсказки?

Спасибо

1 Ответ

2 голосов
/ 26 апреля 2020

Вы должны увидеть эту ошибку в своих журналах, потому что ваш 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
    }
  ]
}

Вот все поддерживаемые опции для Dockerrun. aws. json

...