AWS Elastic Beanstalk Docker из ошибки ECR «Не указан образ Docker в Dockerrun.aws.json» - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь развернуть образ докера из AWS ECR в Elastic Beanstalk. Я настроил все необходимые разрешения для Elastic Beanstalk как для S3, так и для ECR. Связь между этими службами выглядит нормально, однако я получаю следующие ошибки при попытке запустить среду Elastic Beanstalk:

  1. No Docker image specified in either Dockerfile or Dockerrun.aws.json. Abort deployment.
  2. [Instance: i-01cf0bac1863e4eda] Command failed on instance. Return code: 1 Output: No Docker image specified in either Dockerfile or Dockerrun.aws.json. Abort deployment. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.

Я загружаю один Dockerrun.aws.json, который указывает на изображение в ECR. Ниже мой Dockerrun.aws.json файл:

{
  "AWSEBDockerrunVersion": "1",
  "containerDefinitions": {
    "Name": "***.eu-central-1.amazonaws.com/***:latest",
    "Update": "true"
  },
  "Ports": [
    {
      "ContainerPort": "5000"
    }
  ],
  "Logging": "/var/log/nginx"
}

Образ докера существует в ECR в месте, указанном в поле containerDefinitions Name.

Я что-то здесь упускаю?

1 Ответ

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

Оказывается containerDefinitions не применимо в этой ситуации. Я не уверен, где я нашел это (может быть, из образца Dockerrun где-то). Фактическое имя свойства указано ниже:

{
  "AWSEBDockerrunVersion": "1",
  "Image": {
    "Name": "***.eu-central-1.amazonaws.com/***:latest",
    "Update": "true"
  },
  "Ports": [
    {
      "ContainerPort": "5000"
    }
  ],
  "Logging": "/var/log/nginx"
}
...