Book description
Run Docker on AWS and build real-world, secure, and scalable container platforms on cloud
Key Features
- Configure Docker for the ECS environment
- Integrate Docker with different AWS tools
- Implement container networking and deployment at scale
Book Description
Over the last few years, Docker has been the gold standard for building and distributing container applications. Amazon Web Services (AWS) is a leader in public cloud computing, and was the first to offer a managed container platform in the form of the Elastic Container Service (ECS).
Docker on Amazon Web Services starts with the basics of containers, Docker, and AWS, before teaching you how to install Docker on your local machine and establish access to your AWS account. You'll then dig deeper into the ECS, a native container management platform provided by AWS that simplifies management and operation of your Docker clusters and applications for no additional cost. Once you have got to grips with the basics, you'll solve key operational challenges, including secrets management and auto-scaling your infrastructure and applications. You'll explore alternative strategies for deploying and running your Docker applications on AWS, including Fargate and ECS Service Discovery, Elastic Beanstalk, Docker Swarm and Elastic Kubernetes Service (EKS). In addition to this, there will be a strong focus on adopting an Infrastructure as Code (IaC) approach using AWS CloudFormation.
By the end of this book, you'll not only understand how to run Docker on AWS, but also be able to build real-world, secure, and scalable container platforms in the cloud.
What you will learn
- Build, deploy, and operate Docker applications using AWS
- Solve key operational challenges, such as secrets management
- Exploit the powerful capabilities and tight integration of other AWS services
- Design and operate Docker applications running on ECS
- Deploy Docker applications quickly, consistently, and reliably using IaC
- Manage and operate Docker clusters and applications for no additional cost
Who this book is for
Docker on Amazon Web Services is for you if you want to build, deploy, and operate applications using the power of containers, Docker, and Amazon Web Services. Basic understanding of containers and Amazon Web Services or any other cloud provider will be helpful, although no previous experience of working with these is required.
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- Packt Upsell
- Contributors
- Preface
- Container and Docker Fundamentals
- Building Applications Using Docker
- Getting Started with AWS
- Introduction to ECS
-
Publishing Docker Images Using ECR
- Technical requirements
- Understanding ECR
- Creating ECR repositories
- Logging into ECR
- Publishing Docker images to ECR
- Pulling Docker images from ECR
- Configuring lifecycle policies
- Summary
- Questions
- Further reading
-
Building Custom ECS Container Instances
- Technical requirements
- Designing a custom Amazon Machine Image
- Building a custom AMI using Packer
- Building custom ECS container instance images using Packer
- Testing your custom ECS container instance image
- Summary
- Questions
- Further reading
-
Creating ECS Clusters
- Technical requirements
- Deployment overview
- Defining an ECS cluster
- Configuring an EC2 Auto Scaling group
- Defining an EC2 Auto Scaling launch configuration
- Configuring CloudFormation Init Metadata
- Configuring Auto Scaling group creation policies
- Configuring EC2 instance profiles
- Configuring EC2 security groups
- Deploying and testing an ECS cluster
- Summary
- Questions
- Further reading
- Deploying Applications Using ECS
- Managing Secrets
- Isolating Network Access
-
Managing ECS Infrastructure Life Cycle
- Technical requirements
- Understanding ECS life cycle management
- Building a new ECS container instance AMI
- Configuring EC2 Auto Scaling rolling updates
- Creating EC2 Auto Scaling life cycle hooks
- Creating a Lambda function for consuming life cycle hooks
- Deploying and testing Auto Scaling life cycle hooks
- Summary
- Questions
- Further reading
-
ECS Auto Scaling
- Technical requirements
- Understanding ECS cluster resources
- Calculating the ECS cluster capacity
-
Implementing an ECS Auto Scaling solution
- Configuring CloudWatch events for ECS
- Programming the Lambda function that calculates the cluster capacity
- Creating CloudWatch alarms for cluster-capacity management
- Creating EC2 Auto Scaling policies
- Testing ECS cluster-capacity management
- Configuring the AWS application Auto Scaling service
- Deploying application Auto Scaling
- Summary
- Questions
- Further reading
-
Continuously Delivering ECS Applications
- Technical requirements
- Introducing CodePipeline and CodeBuild
- Creating a custom CodeBuild container
- Adding CodeBuild support to your application repository
- Creating a continuous integration pipeline using CodePipeline
- Creating a continuous delivery pipeline using CodePipeline
- Continuously delivering to production using CodePipeline
- Summary
- Questions
- Further reading
-
Fargate and ECS Service Discovery
- Technical requirements
- When to use Fargate?
- Adding support for AWS X-Ray to applications
- Creating an X-Ray daemon Docker image
- Configuring ECS service discovery resources
- Configuring an ECS task definition for Fargate
- Configuring an ECS service for Fargate
- Deploying and testing the X-Ray daemon
- Summary
- Questions
- Further reading
- Elastic Beanstalk
-
Docker Swarm in AWS
- Technical requirements
- Docker Swarm introduction
- Installing Docker for AWS
- Deploying applications to Docker Swarm
- Deploying the sample application to Docker Swarm
- Summary
- Questions
- Further reading
-
Elastic Kubernetes Service
- Technical requirements
- Introduction to Kubernetes
- Getting started with Kubernetes
- Creating an EKS cluster
- Deploying the sample application to EKS
- Summary
- Questions
- Further reading
-
Assessments
- Chapter 1, Container and Docker Fundamentals
- Chapter 2, Building Applications Using Docker
- Chapter 3, Getting Started with AWS
- Chapter 4, Introduction to ECS
- Chapter 5, Publishing Docker Images Using ECR
- Chapter 6, Building Custom ECS Container Instances
- Chapter 7, Creating ECS Clusters
- Chapter 8, Deploying Applications Using ECS
- Chapter 9, Managing Secrets
- Chapter 10, Isolating Network Access
- Chapter 11, Managing the ECS Infrastructure Life Cycle
- Chapter 12, ECS Auto Scaling
- Chapter 13, Continuously Delivering ECS Applications
- Chapter 14, Fargate and ECS Service Discovery
- Chapter 15, Elastic Beanstalk
- Chapter 16, Docker Swarm in AWS
- Chapter 17, Elastic Kubernetes Service
- Other Books You May Enjoy
Product information
- Title: Docker on Amazon Web Services
- Author(s):
- Release date: August 2018
- Publisher(s): Packt Publishing
- ISBN: 9781788626507
You might also like
book
Docker Quick Start Guide
Develop and build your Docker images and deploy your Docker containers securely. Key Features Learn Docker …
book
Learn Docker - Fundamentals of Docker 18.x
Enhance your software deployment workflow using containers About This Book Get up-and-running with basic to advanced …
video
Docker in Motion
Docker in Motion teaches you how to create and manage container-hosted applications in Docker. With over …
book
A Complete Guide to Docker for Operations and Development : Test-Prep for the Docker Certified Associate (DCA) Exam
Harness the power of Docker by containerizing your code with all its libraries and file systems …