I'm currently experimenting with Elastic Beanstalk and Docker, and I'm wondering if there is some way to get an Elastic Beanstalk Docker App, to auto update based on a DockerHub AUTOMATED BUILD image?
I'm using the following setup. 1) GitHub repository with Dockerfile and associated files. 2) DockerHub Automated Build image linked to the GitHub repository. 3) Elastic Beanstalk App built using a Dockerrun.aws.json like so...
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "my_repo/my_image:latest",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "80"
}
]
}
If I commit changes to my GitHub repository, I can see that they're picked up in DockerHub, and a new image is built. However I'm not sure how best to trigger an update in Elastic Beanstalk.
I can rebuild the environment. However that's a bit of an expensive operation, and takes the application off-line while it's happening.
What I'd like is for it to automatically trigger a rolling update, so my instances will be upgraded one at a time, so nothing goes offline.