AWS BeanStalk environment running multi-container Docker fail to start with Health: Severe

I am trying to launch an AWS BeanStalk environment running multi container Docker but it fails with the following list of events:

2016-01-18 16:58:57 UTC+0100    WARN    Removed instance [i-a7162d2c] from your environment due to a EC2 health check failure.
2016-01-18 16:57:57 UTC+0100    WARN    Environment health has transitioned from Degraded to Severe. None of the instances are sending data.
2016-01-18 16:47:58 UTC+0100    WARN    Environment health has transitioned from Pending to Degraded. Command is executing on all instances. Command failed on all instances.
2016-01-18 16:43:58 UTC+0100    INFO    Added instance [i-a7162d2c] to your environment.
2016-01-18 16:43:27 UTC+0100    INFO    Waiting for EC2 instances to launch. This may take a few minutes.
2016-01-18 16:41:58 UTC+0100    INFO    Environment health has transitioned to Pending. There are no instances.
2016-01-18 16:41:54 UTC+0100    INFO    Created security group named: awseb-e-ih2exekpvz-stack-AWSEBSecurityGroup-M2O11DNNCJXW
2016-01-18 16:41:54 UTC+0100    INFO    Created EIP:
2016-01-18 16:41:09 UTC+0100    INFO    Using elasticbeanstalk-eu-west-1-936425941972 as Amazon S3 storage bucket for environment data.
2016-01-18 16:41:08 UTC+0100    INFO    createEnvironment is starting.

Health status is marked “Severe” and I have the following logs:

  • Docker: Best practice for development and production environment
  • How does rancher schedule services to specific hosts?
  • artifactory pro registry docker image
  • How to run script file(.sh file) inside Dockerfile? [closed]
  • Docker compose not mounting volumes
  • Accessing a docker container URL on Windows host
  • 98 % of CPU is in use.
    Initialization failed at 2016-01-18T15:54:33Z with exit status 1 and error: Hook /opt/elasticbeanstalk/hooks/preinit/ failed.
    . /opt/elasticbeanstalk/hooks/
    /opt/elasticbeanstalk/bin/get-config container -k ecs_cluster
    /opt/elasticbeanstalk/bin/get-config container -k ecs_region
    /opt/elasticbeanstalk/bin/get-config container -k support_files_dir
    is_baked ecs_agent
    [[ -f /etc/elasticbeanstalk/baking_manifest/ecs_agent ]]
    aws configure set default.output json
    aws configure set default.region eu-west-1
    echo ECS_CLUSTER=awseb-figure-test-ih2exekpvz
    grep -q 'ecs start/'
    initctl status ecs
    initctl start ecs
    ecs start/running, process 8418
    jq -r .ContainerInstanceArn
    curl http://localhost:51678/v1/metadata
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to     localhost port 51678: Connection refused

    My configuration:

    Environment type: Single Instance 
    Instance type: Medium
    Root volume type: SSD
    Root Volume Size: 8GB
    Zone: EU-West


      "AWSEBDockerrunVersion": "2",
      "containerDefinitions": [
          "essential": true,
          "memory": 252,
          "links": [
          "mountPoints": [
              "containerPath": "/srv/express",
              "sourceVolume": "_WebExpress"
              "containerPath": "/srv/express/node_modules",
              "sourceVolume": "SrvExpressNode_Modules"
          "name": "web",
          "image": "figure/web:latest",
          "portMappings": [
              "containerPort": 3000,
              "hostPort": 3000
          "essential": true,
          "memory": 252,
          "image": "redis",
          "name": "redis",
          "portMappings": [
              "containerPort": 6379,
              "hostPort": 6379
      "family": "",
      "volumes": [
          "host": {
            "sourcePath": "./web/express"
          "name": "_WebExpress"
          "host": {
            "sourcePath": "/srv/express/node_modules"
          "name": "SrvExpressNode_Modules"

  • Echo printing variables in a completely wrong order
  • Committing an interactive container in docker
  • error in docker build publish plugin
  • Build docker in ASP.NET Core: “no such file or directory” error
  • Issue mounting docker volume with docker-compose
  • sed inline replacement not working from Dockerfile
  • 2 Solutions collect form web for “AWS BeanStalk environment running multi-container Docker fail to start with Health: Severe”

    @Kilianc: If you are creating elastic beanstalk application using multi-docker container platform then you have to add the following list of policies to the default role “aws-elasticbeanstalk-ec2-role” or you can create your own role.

    1. AWSElasticBeanstalkWebTier
    2. AWSElasticBeanstalkMulticontainerDocker
    3. AWSElasticBeanstalkWorkerTier


    It appears I forgot to set up policies and permissions as described in AWS BeanStalk documentation:

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.