AWS Partner Network (APN) Blog

Docker for AWS – Now Available in the AWS Marketplace

AWS customers now have the ability to purchase Docker for AWS via the AWS Marketplace. Docker for AWS is available at no additional cost (Docker Community Edition, CE) or as a supported subscription offering (Docker Enterprise Edition, EE). Both Docker CE and Docker EE offer a toolset that allows customers to deploy a “Container as a Service” in their AWS account with the help of a simple AWS CloudFormation template. Docker for AWS handles deploying the Docker manager and Docker worker nodes, as well as the required underlying AWS components. Docker CE is great for developers and small teams getting started with containers; you’ll find both monthly and quarterly releases of CE for those who want to stay on the bleeding edge. Docker EE is for Enterprises looking for a supported and certified CaaS solution, including integrated image, container, and user management and security.

Both Docker CE and EE for AWS stacks bring a number of AWS service integrations to help customers realize the advantages of running Docker on the AWS Cloud. For example, Auto Scaling, multi-AZ deployments, and healthchecks are available out of the box to help ensure cluster resiliency. AWS CloudFormation Stack Updates are used for upgrades of the cluster, rolling out changes to one manager and one worker node at a time, helping prevent downtime for your applications. Elastic Load Balancing integration is also provided by default, which makes it easy to deploy applications that are ready to scale up as your traffic increases.

Let’s take a quick look at deploying and getting started with Docker for AWS. First, we’ll launch the CloudFormation stack and specify some parameters that determine how our Docker swarm cluster is configured. We can configure values like how many manager nodes we want (choose 3 or 5), what instances to use for managers and the Docker swarm cluster itself, and how much storage we want to allocate to each node. There are also some neat options to enable here, like auto-cleanup, which automatically purges unused resources, and Amazon CloudWatch logs logging, which will push logs from your entire cluster to CloudWatch logs.

Docker_EE_for_AWS_1

Once the stack has completed launching, take a look at the “Outputs” tab and find the link to see the Manager instances. SSH into one of these and we’ll deploy a sample app. (Hint: you can also configure your local Docker client to use the Swarm cluster: https://docs.docker.com/engine/swarm/swarm-tutorial/)

$ ssh -I my-key.pem docker@manager-node-ip

We can then check that the cluster is up and running:

Docker_EE_for_AWS_2

Great! Let’s deploy a quick sample app – I’m a fan of the voting app in the Docker getting started guide: https://docs.docker.com/engine/getstarted-voting-app/

Docker_EE_for_AWS_3

We can then see that our services are running:

Docker_EE_for_AWS_3_1

Let’s check the front end app into the ELB:

Docker_EE_for_AWS_3_2

Cool. Let’s hit the ELB and see our app in action:

Docker_EE_for_AWS_4

Alright, time to wrap this up. To check out the templates, subscribe to the products in the AWS Marketplace here, and give Docker for AWS a spin today.