Docker Compose in Depth
4.3 (136 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,375 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Docker Compose in Depth to your Wishlist.

Add to Wishlist

Docker Compose in Depth

Learn Docker containerization in depth using Docker's Compose Tool
Best Seller
4.3 (136 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,375 students enrolled
Last updated 2/2017
Current price: $10 Original price: $100 Discount: 90% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • 2 Articles
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Define multi-container application environments using Docker Compose
  • Create flexible environments that intelligently build Dockerfiles and/or pull a Docker images from a remote repository
  • Customize environments via environment variables
  • Partition environments into logical pieces, running them in isolation or in aggregate
  • Utilize volumes to persist data and share it between containers
  • Control the startup order of containers
  • Create customized, isolated networks for part or all of an environment
View Curriculum
  • Students should have a cursory understanding of Docker, including how to create images and run containers
  • Students should have access to a development machine with Docker installed
  • This course is not appropriate for students with no prior experience with Docker

Docker has taken the development world by storm in recent years, being the first effective tool that wraps up a piece of software in a complete file system package, installs it on a server, and runs it repeatedly. However, until recently it was difficult to do this with micro-architectures composed of numerous containers that all need to work in conjunction with one another. Enter Docker Compose, the handiest tool to hit the tech world since Docker. Here’s everything you need to know...

Learn Docker Compose Inside Out

  • Define multi-container application environments
  • Create flexible, customisable environments and networks
  • Transform an existing application into a fully Docker-ised environment
  • Enhance your Docker experience

Make Your Docker Experience Even More Stress-Free

This Docker Compose online course will make you a DC expert, learning the tool from top to bottom. It has been specifically designed for those that already know Docker, so you’ll skip the baby steps and dive straight in. First you’ll cover the basic features using a sample environment, gaining an understanding of restarts, dependencies, and persisting the database with a volume.

After that you’ll progress to networks. You’ll take an in-depth look at isolating containers, aliases and container names, links, using external networks, and how updates affect networking. Then it’s on to the really good stuff; a section each is dedicated to volumes, logging, the Compose CLI, and ‘Composing Compose’ (don’t worry, it won’t be as complicated as it sounds by the time you get there).  Finally you’ll learn about Compose in Production.

The course is organised into logical sections so you can progress at your pace and in your own time. By the end, you’ll apply what you’ve learned to create a large environment for a sample legacy system, using all of the features covered in previous sections. You’ll then have the skills and confidence needed to go forth and create your own flexible application environments with Docker Compose.

About Docker Compose

Docker Compose is a useful tool from the people at Docker. It makes defining and running application environments made up of multiple Docker containers even easier and more efficient.  Up until now, starting any more than one or two Docker containers was extremely complicated. With Docker Compose, the entire process just got infinitely better. 

Who is the target audience?
  • This course is aimed at developers looking to understand and implement application environments using Docker
  • The ideal student is looking to transform an existing “ad hoc” application into a fully Dockerized environment.
  • Students may also be interested in this course if their goal is simply to understand Docker Compose from top to bottom
  • Students with no intention of Dockerizing a multi-container application or seeking only to understand Docker itself may not get much out of this course
Compare to Other Docker Courses
Curriculum For This Course
54 Lectures
5 Lectures 08:47

Download files here

Preview 02:06

Through exposition and judicious use of slides, we’ll talk about what Compose is, what you could use it for, and what kinds of features it has (without getting into the nitty-gritty).

Compose at a High-level

In this lecture you'll install and verify you have Compose available on your system.

Preview 01:14

In this lecture, we’ll get Compose installed on your machine and learn the fundamentals of the ‘docker-compose’ command-line interface and accompanying ‘docker-compose.yml’ file driving it.

Compose at the Terminal

Section Summary

Section 1
2 questions
Compose Basics
8 Lectures 19:00
Section Introduction

This lecture introduces the sample Wordpress environment we will be reproducing in the section.

Introducing the Sample Wordpress Environment

In this lecture, we'll take a look at existing approaches for integrating the "wordpress" container.

A Sample "version 1" Environment for Wordpress

In this lecture, we'll update the "version 1" service configuration to the Compose version 2 format, and learn about some of the caveats of version 1 vs 2.

Preview 04:41

In this lecture, we'll make our non-persistent "db" service persistent through the use of volumes. We'll also experiment with ways our containers may look persistent, but ultimately bite us.

Persisting the Database with a Volume

In this lecture, we'll learn about how Compose's restart policies and dependency configurations affect containers.

How Restarts Work

In this lecture, we'll add a dependency to our Compose environment and finalize our "db" service. We'll illustrate how new changes to the service allow us to achieve persistence.

Adding a Dependency

Section Summary

Section 2
3 questions
9 Lectures 16:30
Section Introduction

This lecture introduces Docker Networks in Compose. You'll hear about a few of the capabilities and features provided before jumping in the the subsequent lectures.

Networking Overview

In this lecture, you'll learn about Compose's default network, how it behaves, and how you can change the name or behavior of the network.

The Default Network

This lecture explores the ability to isolate containers using multiple networks. You'll learn how to add containers to a network, isolate containers from one another and a few handy shortcuts for diagnosing network reachability.

Isolating Containers

This lecture will explore the 'alias' and 'container_name' service configurations and how they affect scalability and reachability of containers.

Aliases & Container Names

In this lecture, we'll explore how Docker "links" work in Compose. While they're not suggested, you'll learn how they behave and why you may want to avoid them in Compose.

Preview 01:31

This explanatory lecture will explore how updates to a Compose environment affect existing network connections.

How Updates Affect Networking

Rounding out the section, we'll learn how you can make use of existing external networks from a Compose environment. You'll also learn how to further configure Compose networks to fit into your own specialized environments.

Using External Networks

Section Summary

Section 3
3 questions
6 Lectures 11:01
Section Introduction

This lecture will introduce using Docker Volume's in Compose and how they can be used.

Volumes Overview

This lecture will explore how to add a simple volume to a service.

Simple Volumes

This lecture explores more specialized volumes. In particular, you'll learn how to create named volumes and share them between containers.

Named Volumes

In this lecture you will learn about advanced Volume configuration, including external volumes and the plethora of Volume plugins available in Compose.

Fine-grained Volume Configuration

Section Summary

Section 4
3 questions
4 Lectures 05:14
Section Introduction

This lecture will teach you how to configure logging drivers for containers in your Compose environment

Configuring Logging

This lecture will show you how to forward logs from your Compose environment to a remote Syslog service (in this case, Paperclip).

Forwarding Logs

Section Summary

Section 5
2 questions
The Compose CLI
8 Lectures 15:18
Section Introduction

This lecture will give you an overview of command-line arguments and environment variables you can use to influence how your Compose environment runs. You'll learn how to source environments from other files with "--file", change the name of your environment, and set Docker host options.

Configuring Compose

This lecture will explore the ins and outs of Compose's "up" lifecycle and how you can modify its behavior or run sections of the lifecycle independently.

Bringing an Environment Up

This lecture will teach you a few commands you can use to interact with the shape of a running environment. You'll learn to change the number of running services with 'scale', halt services with 'pause' & 'unpause', and run one-off "administrative" jobs with 'run'.

Changing a Running Environment

This lecture will explore Compose's "informational" commands: 'port', 'ps', 'logs' and 'events'.

Introspecting on an Environment

This lecture will explore the ins and outs of Compose's "down" lifecycle and how you can modify its behavior or run sections of the lifecycle independently. You'll also learn how to restart containers with the 'restart' command.

Taking an Environment Down

This lecture will explore "environment files" in Compose, and how you can use them to provide default or non-default variables for consumption in your Compose YAML files.

Environment Files

Section Summary

Section 6
3 questions
Composing Compose
6 Lectures 10:50
Section Introduction

This lecture will dive deep on the "--file" parameter of the Compose CLI. You'll learn the usage and behavior for merging multiple environments or environment snippets into a single Compose environment.

The File Argument

This lecture will introduce the default "override" file Compose reads from, what you can use it for, and how to exclude it from your Compose environment.

The Default Override File

This lecture will show you how to use the 'extends' service configuration to build a new service based off a "base" service in another file.

The 'extends' configuration

This lecture will explore how you can use Compose's 'run' command along with additional Compose files to run administrative tasks not normally a part of your default environment.

Running Additional Services

Section Summary

Section 7
3 questions
Compose in Production
6 Lectures 20:03
Section Introduction

This lecture will introduce a "production" like sample environment—based on the example from the Compose Basics section—and how it enacts a few best practices.

Preview 04:36

This lecture will explore the "provision" script provided in the example. You'll learn how to use it to create and interact with a Swarm environment on your local development machine, or on Digital Ocean.

Building a Swarm Cluster

This lecture will teach you how to deploy the a sample environment to your freshly minted Swarm Cluster using Compose environment variables.

Deploying to a Swarm Cluster

This lecture will explore some of the deficiencies of the sample environment, and prompt the student to undertake one of many potential improvements on their own.

Next Steps

Section Summary

Section 8
3 questions
Bonus Material
2 Lectures 01:18
Bonus Lecture: Certificate of Completion

Bonus Lecture: Course Discounts
About the Instructor
Stone River eLearning
4.2 Average rating
17,256 Reviews
285,908 Students
203 Courses
280,000+ Happy Udemy Students

At Stone River eLearning, technology is all we teach. If you're interested in programming, development or design - we have it covered. 

Check out our huge catalog of courses and join the over 450,000 students currently taking Stone River eLearning courses. We currently offer 100+ different technology training courses on our Stone River eLearning website and are adding new courses on hot and trending topics every month. A subscription option is available for those with a real passion for learning.