Book Image

Docker Orchestration

By : Arbezzano, Randall Smith
Book Image

Docker Orchestration

By: Arbezzano, Randall Smith

Overview of this book

Docker orchestration is what you need when transitioning from deploying containers individually on a single host to deploying complex multi-container apps on many machines. This book covers the new orchestration features of Docker 1.12 and helps you efficiently build, test, and deploy your application using Docker. You will be shown how to build multi-container applications using Docker Compose. You will also be introduced to the building blocks for multi-host Docker clusters such as registry, overlay networks, and shared storage using practical examples. This book gives an overview of core tools such as Docker Machine, Swarm, and Compose which will enhance your orchestration skills. You’ll learn how to set up a swarm using the decentralized building block. Next, you’ll be shown how to make the most out of the in-built orchestration feature of Docker engine and you’ll use third-party tools such as Kubernetes, Mesosphere, and CoreOS to orchestrate your existing process. Finally, you will learn to deploy cluster hosts on cloud services and automate your infrastructure.
Table of Contents (11 chapters)

What this book covers

Chapter 1, Getting Started with Docker Orchestration , gets you started with using Docker. It shows you how to install Docker locally and on popular cloud services such as Amazon Web Services, Google Compute Engine, and Microsoft Azure.

Chapter 2, Building Multi-Container Applications with Docker Compose , provides an introduction to building multi-container applications with Docker Compose. It also shows how to use named networks for data isolation and data volumes to share data.

Chapter 3 , Cluster Building Blocks – Registry, Overlay Networks, and Shared Storage , describes the building blocks that are needed for a Docker cluster. You will explore the registry, overlay networks, and shared storage and learn why they are needed.

Chapter 4 , Orchestration with Docker Swarm , shows you how to create and manage a cluster with Docker Swarm. You will learn how to manage services, run them with multiple replicas, and perform "zero downtime" upgrades.

Chapter 5 , Deploying and Managing Services with Kubernetes , explores the basics of using Kubernetes to orchestrate a Docker cluster. You will see how to create services provided by multiple containers, how to provide load balancing for those services, and how to seamlessly upgrade them. Finally, you will see how to create persistent volumes to share data between containers.

Chapter 6 , Working with Mesosphere , delves into using Mesosphere and DC/OS for orchestration. You will learn how to create and manage containers, load-balance them, and provide persistent storage. You will also see how to create health checks to ensure that services are running properly and how to perform "zero downtime" upgrades.

Chapter 7 , Using Simpler Orchestration Tools – Fleet and Cattle, takes a look Fleet and Cattle. Fleet is a low-level tool that can be used to base custom management tools on. Cattle is a powerful, but easy to use, orchestration tool from Rancher. You will see how to use each to manage containers and services.

Chapter 8 , Monitoring Your Cluster , explores the important task of ensuring that clusters, and containers running in them, are behaving properly. You will learn how to aggregate logs from all your containers in Elasticsearch and view them in Kibana. You will also learn how to use collectd, InfluxDB, and Grafana to collect performance data.

Chapter 9 , Using Continuous Integration to Build, Test, and Deploy Containers , explains how to use continuous integration in GitLab to build, test, and even deploy containers. This helps to ensure that images are built consistently and reliably.

Chapter 10 , Why Stop at Containers? Automating Your Infrastructure , looks beyond containers to show how the same principles that go into building and orchestrating Docker containers can also be used with the hosts those containers run on. You will see how configuration management can be used to configure hosts and ensure that they stay configured. The chapter also shows you how to use Packer to build host images that can be deployed locally or to cloud services. Finally, it will introduce Terraform, which can be used to create an entire Docker cluster from scratch.