Docker Compose Parts
The course is part of these learning paths
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.
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
This course is for anyone interested in working with Docker, including:
- DevOps Engineers
- Cloud Engineers
- Test Engineers
This is an intermediate level course that assumes:
- You have experience working with Docker
- Some understanding of software development is also beneficial
|Lesson||What you'll learn|
|Introduction||What will be covered in this course|
|Overview||Why we need Docker Compose|
|Compose Files||Everything you need to know about Compose files|
|Compose CLI||How to work with the Compose CLI|
|Run a Web App||How to manage WordPress with Compose|
|Building in Compose||Build Docker images and develop with Compose|
|Extending Compose||See how to extend Compose to work in multiple environments|
|Summary||Review the course and see what's next|
If you have thoughts or suggestions for this course, please contact Cloud Academy at email@example.com.
Welcome to managing applications with Docker Compose.
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.
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.
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
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 firstname.lastname@example.org, 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.
About the Author
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 Administrator (CKA), Certified Kubernetes Application Developer (CKAD), Linux Foundation Certified System Administrator (LFCS), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.