As more and more developers are learning, Docker is a fantastic tool for “containerizing” and running applications repeatably. You’ve probably even Dockerized a few applications yourself.
With the advent of micro-architectures, however, even the most modestly-sized systems are composed of numerous containers, all working in conjunction. Starting one container manually is easy, but start any more than a few and you’re in for a real headache.
Enter Docker Compose. Compose is a tool from the folks at Docker that makes it easy to define and run application environments made up of multiple Docker containers.
Throughout this course, you’ll learn Compose from top to bottom. To begin, we’ll cover the basics of `docker-compose.yml` syntax and the `docker-compose` CLI tool. We’ll then move on to an exhaustive tour of Compose’s features, including:
- Linking containers
- Using environment variables
- Controlling container startup order
- Mounting and sharing volumes inside an environment
- Partitioning environments via Compose “extensions”
- Customizing container networks
The course is organized into logical sections, meaning it’s easy to digest en masse or ad hoc, depending on your needs.
In the final section of the course, we’ll apply what you’ve learned to create a large environment for a ficticious legacy system that requires many of the features covered.
When you’re finished with the course, you should have the knowledge and confidence to create your own flexible application environments. Whether you apply what you’ve learned on the job or at home, you’ll save time and avoid mistakes by being able to quickly and repeatably run your system.