Elastic Beanstalk

Docker

Private Repos

In order to pull from a private repository, you need to upload a dockercfg file to s3. You can most likely copy the contents of ~/.docker/config.json. If this file doesn’t exist, just run docker login.

{
  "auths": {
    "https://index.docker.io/v1/": {
      "auth": "<auth>",
      "email": "<email>"
    }
  }
}

MultiContainer

With Elastic Beanstalk you can provision M docker containers across N servers. This allows you share your containers across fewer instances, which saves money and complexity.

Authentication

Often, you want to pull images from private docker repos. In order to do this, you need to add an “authentication” block to your Dockerrun file that points to a dockercfg file in s3.

{
  "AWSEBDockerrunVersion": 2,
  "authentication": {
    "bucket": "<s3 bucket>",
    "key": "<s3 key>"
  },
  "containerDefinitions": {
    ...
  }
}