3.65 out of 5
3.65
196 reviews on Udemy

Docker Compose in Depth

Learn Docker containerization in depth using Docker's Compose Tool
Instructor:
Stone River eLearning
1,727 students enrolled
English [Auto-generated]
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

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. 

Introduction

1
Section Introduction

Download files here

2
Compose at a High-level

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).

3
Installing Compose

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

4
Compose at the Terminal

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.

5
Section Summary
6
Section 1

Compose Basics

1
Section Introduction
2
Introducing the Sample Wordpress Environment

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

3
A Sample "version 1" Environment for Wordpress

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

4
From Version 1 to Version 2

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.

5
Persisting the Database with a Volume

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.

6
How Restarts Work

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

7
Adding a Dependency

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.

8
Section Summary
9
Section 2

Networks

1
Section Introduction
2
Networking Overview

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.

3
The Default Network

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.

4
Isolating Containers

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.

5
Aliases & Container Names

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

6
Links

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.

7
How Updates Affect Networking

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

8
Using External Networks

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.

9
Section Summary
10
Section 3

Volumes

1
Section Introduction
2
Volumes Overview

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

3
Simple Volumes

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

4
Named Volumes

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

5
Fine-grained Volume Configuration

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

6
Section Summary
7
Section 4

Logging

1
Section Introduction
2
Configuring Logging

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

3
Forwarding Logs

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

4
Section Summary
5
Section 5

The Compose CLI

1
Section Introduction
2
Configuring Compose

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.

3
Bringing an Environment Up

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.

4
Changing a Running Environment

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'.

5
Introspecting on an Environment

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

6
Taking an Environment Down

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.

7
Environment Files

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.

8
Section Summary
9
Section 6

Composing Compose

1
Section Introduction
2
The File Argument

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.

3
The Default Override File

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.

4
The 'extends' configuration

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.

5
Running Additional Services

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.

6
Section Summary
7
Section 7

Compose in Production

1
Section Introduction
2
Introducing the Sample Environment

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.

3
Building a Swarm Cluster

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.

4
Deploying to 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.

5
Next Steps

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.

6
Section Summary
7
Section 8

Bonus Material

1
Bonus Lecture: Course Discounts
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
3.7
3.7 out of 5
196 Ratings

Detailed Rating

Stars 5
89
Stars 4
69
Stars 3
31
Stars 2
3
Stars 1
4
84efcb4ffec2ccb1f5d320019a475269
30-Day Money-Back Guarantee

Includes

2 hours on-demand video
1 article
Full lifetime access
Access on mobile and TV
Certificate of Completion