Book Image

Docker Deep Dive

By : Nigel Poulton
Book Image

Docker Deep Dive

By: Nigel Poulton

Overview of this book

Most applications, even the funky cloud-native microservices ones, need high-performance, production-grade infrastructure to run on. Having impeccable knowledge of Docker will help you to thrive in the modern cloud-first world. With this book, you’ll gain the skills you need to work with Docker and its containers. The book begins with an introduction to containers and explains its functionality and application in the real world. You’ll then get an overview of VMware, Kubernetes, and Docker and learn to install Docker on Windows, Mac, and Linux. Once you’ve understood the Ops and Dev perspective of Docker, you’ll be able to see the big picture and understand what Docker exactly does. The book then turns its attention to the more technical aspects, guiding your through practical exercises covering Docker engine, Docker images, and Docker containers. You’ll learn techniques for containerizing an app, deploying apps with Docker Compose, and managing cloud-native applications with Swarm. You’ll also build Docker networks and Docker overlay networks and handle applications that write persistent data. Finally, you’ll deploy apps with Docker stacks and secure your Docker environment. By the end of this book, you’ll be well-versed in Docker and containers and have developed the skills to create, deploy, and run applications on the cloud.
Table of Contents (3 chapters)

9: Deploying Apps with Docker Compose

In this chapter, we’ll look at how to deploy multi-container applications using Docker Compose.

Docker Compose and Docker Stacks are very similar. In this chapter we’ll focus on Docker Compose, which deploys and manages multi-container applications on Docker nodes running in single-engine mode. In a later chapter, we’ll focus on Docker Stacks. Stacks deploy and manage multi-container apps on Docker nodes running in swarm mode.

We’ll split this chapter into the usual three parts:

  • The TLDR
  • The deep dive
  • The commands

Deploying apps with Compose - The TLDR

Modern cloud-native apps are made of multiple smaller services that interact to form a useful app. We call this pattern “microservices”. A simple example might be an app with the following seven services:

  • Web front-end
  • Ordering
  • Catalog
  • Back-end database
  • Logging
  • Authentication
  • Authorization

Get all of these working together, and...