image
Managing Applications with Docker Compose
Course Introduction
Difficulty
Intermediate
Duration
1h 22m
Students
6849
Ratings
4.1/5
Description

Docker Compose is an open-source tool for managing multi-container applications with Docker. With Docker Compose, you can describe environments using a declarative syntax and Compose will do all of the heavy-lifting to create the environment. Compose also has built-in logic to make updating environments easy and efficient. It's not only useful for deploying pre-built images, though. You can use it during development to easily manage dependencies for projects. If that sounds interesting, you are in the right place!

In this course, we’ll go over what Docker Compose is and why you would use it. Then we’ll explore the two parts of Docker Compose: Docker Compose files and the Docker Compose command-line interface. Next, we’ll get into demo-focused lessons beginning with running a web application with Compose. After that, we’ll see how to build images in a development scenario with Compose. Lastly, we’ll see how to use Compose to adapt an application to multiple different environments. In particular, we’ll see how to use Compose to manage an application in development and production.

If you have thoughts or suggestions for this course, please contact Cloud Academy at support@cloudacademy.com.

Course Objectives

By the end of this course, you'll be able to:

  • Describe the anatomy of Docker Compose files
  • Configure your application using Docker Compose files
  • Use the Docker Compose CLI to manage the entire lifecycle of applications
  • Build your own images from source code with Docker Compose
  • Extend Docker Compose files to adapt applications to multiple environments

Intended Audience

This course is for anyone interested in working with Docker, including:

  • DevOps Engineers
  • Developers
  • Cloud Engineers
  • Test Engineers

Prerequisites

This is an intermediate-level course that assumes:

  • You have experience working with Docker
  • Some understanding of software development is also beneficial

Resources

The GitHub repo for this course can be found here

Transcript

Welcome to Managing Applications with Docker Compose.

About Me
I’m Logan Rakai and I’ll be your instructor for this course. I’m a content researcher and developer here at Cloud Academy. I’ve mostly worked on developing Labs, but I’m excited to be your instructor for this course. I’ve put a lot of thought into it and I hope you enjoy it. I have over ten years of experience in software research and development including five years in the cloud. I’m an AWS Certified DevOps Engineer Professional and a Microsoft Certified Solutions Expert: Cloud Platform and Infrastructure. You can connect with me on LinkedIn or on Twitter.

Who this course is for
This course is for anyone who could find themselves working with Docker containers. Among the roles that might be in that situation are DevOps engineers, developers, cloud engineers, and test engineers.

Prerequisites
In order to get the most out of this course, you should have experience with Docker. You probably have enough experience if you have ever written a Dockerfile or if you can answer questions like when should you use a volume? And when should you use a user-defined network? The course includes some development demos that are most beneficial if you have some software development experience. You can follow along and I’d encourage you to. You will need Docker version 1.13 or greater installed. I’ll be using a Mac with Docker for Mac installed but you can follow along in Linux or Windows. The code I’ll be using is all available on GitHub. A clickable link is available at the bottom of the transcript for this lesson. You’ll benefit from a good integrated development environment or IDE. I’ll use Visual Studio Code which is available for free on mac, Linux, and Windows.

What we’ll cover
In this Course, we’ll go over what Docker Compose is and why you would use it. Then we’ll explore the two parts of Docker Compose: Docker Compose files and the Docker Compose command-line interface. Next, we’ll get into demo-focused lessons beginning with running a web app with Compose. After that, we’ll see how to build images in a development scenario with Compose. Lastly, we’ll see how to use Compose to adapt an application to multiple different environments. In particular, we’ll see how to use Compose to manage an application in development and production. Wow, after seeing all those exciting topics I need a second to Compose myself.

Learning Objectives
After completing this course, you will be able to:
• Understand the anatomy of Docker Compose files
• Configure your application using Docker Compose files
• Use the Docker Compose CLI to manage the entire lifecycle of applications
• Build your own images from source code with Docker Compose
• Extend Docker Compose files to adapt applications to multiple environments

Feedback
I’m happy to hear from you. I make content for you and I want it to be as good as it can be. If you have any feedback, please get in touch with me by leaving a comment on the Comments tab below the video, by emailing support@cloudacademy.com, or by connecting with me on Twitter where my handle is @LoganRakai.

All right, that’s all for the introduction. In the next lesson, we’ll start to get a better idea of what Docker Compose is. Continue on to the next lesson whenever you are ready.

 

https://github.com/cloudacademy/docker-compose-training

About the Author
Students
198874
Labs
218
Courses
9
Learning Paths
55

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.