Running a Docker container on Amazon Web Services
Amazon Web Services (AWS) announced the availability of Docker containers at the beginning of 2014, as a part of its Elastic Beanstalk offering. At the end of 2014, they revolutionized Docker deployment and provided the users with options shown here for running Docker containers:
- The Amazon EC2 container service (only available in preview mode at the time of writing this book)
- Docker deployment by using the Amazon Elastic Beans services
The Amazon EC2 container service lets you start and stop the container-enabled applications with the help of simple API calls. AWS has introduced the concept of a cluster for viewing the state of your containers. You can view the tasks from a centralized service, and it gives you access to many familiar Amazon EC2 features, such as the security groups, the EBS volumes and the IAM roles.
Please note that this service is still not available in the AWS console. You need to install AWS CLI on your machine to deploy, run, and access this service.
The AWS Elastic Beanstalk service supports the following:
- A single container that supports Elastic Beanstalk by using a console. Currently, it supports the PHP and Python applications.
- A single container that supports Elastic Beanstalk by using a command line tool called eb. It supports the same PHP and Python applications.
- Use of multiple container environments by using Elastic beanstalk.
Currently, AWS supports the latest Docker version, which is 1.5.
This section provides a step-by-step process to deploy a sample application on a Docker container running on AWS Elastic Beanstalk.The following are the steps of deployment:
- Log in to the AWS Elastic Beanstalk console by using this https://console.aws.amazon.com/elasticbeanstalk/ URL.
- Select a region where you want to deploy your application, as shown here:
- Select the Docker option, which is in the drop down menu, and then click on Launch Now. The next screen will be shown after a few minutes, as shown here:
Now, click on the URL that is next to Default-Environment (Default-Environment-pjgerbmmjm.elasticbeanstalk.com), as shown here: