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 Toolbox Cleanup Disk Space
  • Is there any way to provide Run parameters to a docker container image when starting a container from openstack nova?
  • How do I use EBS volume with ECS container
  • Django Logging Permission Error [Errno 13] Permission denied
  • Local docker volume with write permission from www-data
  • Docker Jenkins slave wrong character encoding
  • 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"

  • docker-machine env default | eval “$(docker-machine env default)” | unable to run command docker
  • Installing docker on Ubuntu 16.10
  • Bad Substitution Error Installing NVM within Debian-based Docker image
  • docker build shows: failed sandbox add: failed to set gateway while updating gateway: invalid argument
  • How to downloaded from remote location and execute script on container start Docker?
  • How to restart docker container without log level?
  • 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.