Docker 无法启动Elastic Beanstalk多容器实例

Docker 无法启动Elastic Beanstalk多容器实例,docker,amazon-elastic-beanstalk,Docker,Amazon Elastic Beanstalk,我的dockrun.aws.json { "AWSEBDockerrunVersion": 2, "Authintication": { "Bucket": "abc", "key": "config.json" }, "containerDefinitions": [ { "name": "data", "image": "id.dkr.ecr.eu-west-2.amazonaws.com/dbdata:latest",

我的dockrun.aws.json

{
  "AWSEBDockerrunVersion": 2,
  "Authintication": {
    "Bucket": "abc",
    "key": "config.json"
  },
  "containerDefinitions": [
    {
      "name": "data",
      "image": "id.dkr.ecr.eu-west-2.amazonaws.com/dbdata:latest",
      "essential": false,
      "memory": 512,
      "command" : [
       "/bin/bash"
      ]
    },
    {
      "name": "codebase",
      "image": "id.dkr.ecr.eu-west-2.amazonaws.com/codebase:latest",
      "essential": false,
      "memory": 512,
      "command" : [
       "/bin/bash"
      ]
    },
    {
      "name": "postgres",
      "image": "id.dkr.ecr.eu-west-2.amazonaws.com/postgres:latest",
      "essential": true,
      "memory": 1024,
      "volumesFrom": [
        {
          "sourceContainer": "data"
        }
      ],
      "portMappings": [
        {
          "hostPort": 5432,
          "containerPort": 5432
        }
      ],
      "links": [
        "data"
      ]
    },
    {
      "name": "boxer-api",
      "image": "id.dkr.ecr.eu-west-2.amazonaws.com/boxer-api:latest",
      "essential": true,
      "memory": 1024,
      "volumesFrom": [
        {
          "sourceContainer": "codebase"
        }
      ],
      "portMappings": [
        {
          "hostPort": 8080,
          "containerPort": 8080
        }
      ],
      "links": [
        "codebase",
        "postgres",
        "data"
      ]
    }
  ]
}
错误eb-activity.log

[2017-04-05T08:29:00.728Z]信息[3738]-[应用程序部署] 首先

Release@1/StartupStage1/AppDeployment/02更新凭据。sh]:

正在开始活动。。。[2017-04-05T08:29:00.913Z]信息[3738]-

[首先部署应用程序]

Release@1/StartupStage1/AppDeployment/02更新凭据。sh]:

已完成的活动。[2017-04-05T08:29:00.914Z]信息[3738]- [首先部署应用程序] Release@1/StartupStage1/AppDeployment/03启动任务.sh]:启动 活动。。。[2017-04-05T08:30:37.520Z]信息[3738]-[Application deployment FirstRelease@1/StartupStage1/AppDeployment/03启动任务.sh]:活动 执行失败,因为:+/opt/elasticbeanstalk/hooks/common.sh
+RETRY=0+initctl start eb ecs eb_EVENT_FILE=/tmp/eventsfile20170405-3738-17c2sc0 initctl:Job

无法启动+'['-f/etc/elasticbeanstalk/.eb ecs启动不重试']'+warn'无法启动ecs任务,正在重试…'+echo'无法启动ecs任务,正在重试…'无法启动ecs任务,正在重试…+eventHelper.py--msg“无法启动ECS任务,正在重试…” --严重性警告+重试=1+睡眠3+'['1-gt 1']'+初始化CTL启动eb ecs

EB_EVENT_FILE=/tmp/eventsfile20170405-3738-17c2sc0 initctl:作业启动失败+'['-f/etc/elasticbeanstalk/.EB ecs start no retry']+-warn'启动ecs任务失败,重试…'+echo'启动ecs任务失败,重试…'启动ecs任务失败,重试…+eventHelper.py--msg“无法启动ECS任务,正在重试…”--severity WARN+RETRY=2+sleep 3+'['2-gt 1']'+error_exit“无法在重试2次后启动ECS任务。”1+error“无法在重试2次后启动ECS任务”。+echo“无法在重试2次后启动ECS任务”。启动失败

重试2次后的ECS任务+eventHelper.py--msg“重试2次后无法启动ECS任务”-严重性错误+退出1 (ElasticBeanstalk::ExternalInvocationError)由以下原因引起:+/opt/elasticbeanstalk/hooks/common.sh+RETRY=0+initctl start eb ecs eb_EVENT_FILE=/tmp/eventsfile20170405-3738-17c2sc0 initctl:Job无法启动+'['-f/etc/elasticbeanstalk/.eb ecs start no RETRY']']++warn'无法启动ecs任务,重试…+echo'无法启动ecs任务,重试…',重试…+eventHelper.py--msg“无法启动ECS任务,正在重试…”--严重性警告+重试=1+睡眠3+'['1-gt 1']'+初始化CTL启动eb ECS

EB_EVENT_FILE=/tmp/eventsfile20170405-3738-17c2sc0 initctl:作业启动失败+'['-f/etc/elasticbeanstalk/.EB ecs start no retry']+-warn'启动ecs任务失败,重试…'+echo'启动ecs任务失败,重试…'启动ecs任务失败,重试…+eventHelper.py--msg“无法启动ECS任务,正在重试…”--severity WARN+RETRY=2+sleep 3+'['2-gt 1']'+error_exit“无法在重试2次后启动ECS任务。”1+error“无法在重试2次后启动ECS任务”。+echo“无法在重试2次后启动ECS任务”。启动失败

重试2次后的ECS任务+eventHelper.py--msg“重试2次后无法启动ECS任务”--严重性错误+退出1(执行者::非ZeroExitStatus)

ECS代理日志:

2017-04-05T09:13:11Z[信息]保存状态!module=“statemanager”

2017-04-05T09:13:11Z[INFO]完成了容器postgres的拉取(id.dkr.ecr.eu-west-2.amazonaws.com/postgres:latest)(拉取->运行)。锁获取和拉取时间为233ns

2017-04-05T09:13:11Z【关键】任务状态不良;它不是稳定状态,但没有容器想要转换module=“TaskEngine”task=“awseb-ebsBoxer-env-y9jmnnjnnm:3 arn:aws:ecs:eu-west-2:443611395156:task/f510bd3f-5b97-4fbe-af6c-61e037b08a29,状态:(无->正在运行)容器:[代码库(已停止->正在运行),postgres(已拉->正在运行),数据(已停止->正在运行),]

2017-04-05T09:13:11Z[关键]由于不良状态模块=“TaskEngine”task=“awseb-ebsBoxer-env-y9jmnnjnnm:3 arn:aws:ecs:eu-west-2:443611395156:task/f510bd3f-5b97-4fbe-af6c-61e037b08a29,状态:(无->运行)容器:[代码库(已停止->运行)、postgres(拉车)、数据(已停止运行),]“2017-04-05T09:13:11Z[信息]任务更改事件模块=“任务引擎”事件=“{TaskArn:arn:aws:ecs:eu-west-2:443611395156:Task/f510bd3f-5b97-4fbe-af6c-61e037b08a29状态:停止原因:任务:awseb-ebsBoxer-env-y9jmnnjnnnm:3 arn:aws:ecs:eu-west-2:443611395156:Task/f510bd3f-5b97-4fbe-af6c-e037b08a29,状态:(edsboxer-env)停止),容器:[停止),代码库:[停止(停止),数据(停止->停止),]}”


如果你需要更多的信息,请告诉我。

在伤了我的头两天后,我终于找到了它

这是因为我的数据和代码库容器正在退出,退出代码为“0”。我将命令更改为“tail-f/bin/bash/”

之前:

    {
      "name": "data",
      "image": "id.dkr.ecr.eu-west-2.amazonaws.com/dbdata:latest",
      "essential": false,
      "memory": 512,
      "command" : [
       "/bin/bash"
      ]
    },
    {
      "name": "codebase",
      "image": "id.dkr.ecr.eu-west-2.amazonaws.com/codebase:latest",
      "essential": false,
      "memory": 512,
      "command" : [
       "/bin/bash"
      ]
    }
之后:

       {
          "name": "data",
          "image": "id.dkr.ecr.eu-west-2.amazonaws.com/dbdata:latest",
          "essential": false,
          "memory": 512,
          "command": [
            "tail",
            "-f",
            "/bin/bash"
          ]
        },
        {
          "name": "codebase",
          "image": "id.dkr.ecr.eu-west-2.amazonaws.com/codebase:latest",
          "essential": false,
          "memory": 512,
         "command": [
           "tail",
           "-f",
           "/bin/bash"
         ]
        }

我仍然不明白为什么忽略了“essential”标志!!

创建的默认实例是micro。容器主机上是否有足够的内存来运行所有三个docker容器?