Book Image

Docker for Developers

By : Richard Bullington-McGuire, Andrew K. Dennis, Michael Schwartz
2 (1)
Book Image

Docker for Developers

2 (1)
By: Richard Bullington-McGuire, Andrew K. Dennis, Michael Schwartz

Overview of this book

Docker is the de facto standard for containerizing apps, and with an increasing number of software projects migrating to containers, it is crucial for engineers and DevOps teams to understand how to build, deploy, and secure Docker environments effectively. Docker for Developers will help you understand Docker containers from scratch while taking you through best practices and showing you how to address security concerns. Starting with an introduction to Docker, you’ll learn how to use containers and VirtualBox for development. You’ll explore how containers work and develop projects within them after you’ve explored different ways to deploy and run containers. The book will also show you how to use Docker containers in production in both single-host set-ups and in clusters and deploy them using Jenkins, Kubernetes, and Spinnaker. As you advance, you’ll get to grips with monitoring, securing, and scaling Docker using tools such as Prometheus and Grafana. Later, you’ll be able to deploy Docker containers to a variety of environments, including the cloud-native Amazon Elastic Kubernetes Service (Amazon EKS), before finally delving into Docker security concepts and best practices. By the end of the Docker book, you’ll be able to not only work in a container-driven environment confidently but also use Docker for both new and existing projects.
Table of Contents (21 chapters)
1
Section 1: An Introduction to Docker – Containers and Local Development
6
Section 2: Running Docker in Production
14
Section 3: Docker Security – Securing Your Containers

Chapter 8: Deploying Docker Apps to Kubernetes

Recently, lots of container orchestrators have sprung up like mushrooms after a rainstorm, but one orchestrator is poised to dominate the market: Kubernetes, from the Cloud Native Computing Foundation. Google originally released Kubernetes with the intention of bringing the same level of sophistication to the world of open source container runtimes as it has been doing for years internally with the Borg clustering system.

We will begin by learning more about different Kubernetes distributions and why you might want to use each one. We will start with using Kubernetes on a local development workstation, and then install a sample application locally.

As we progress through the chapter, you will learn how to create a Kubernetes cluster on Amazon Web Services (AWS) through Elastic Kubernetes Service (EKS), and deploy your application to a cluster running on multiple Elastic Compute Cloud (EC2) nodes. We will use AWS CloudFormation, an...