Welcome back. And in this part of the course, I want to quickly cover the theory of Docker Compose. Now it's something which is pretty easy to understand and you're going to get some practical experience of it very shortly. So let's jump in and get started. Now, Docker Compose is used to create, manage and clean up multi-container applications. So this is a tool which allows you to manage applications which consist of multiple containers and associated things like volumes and networking. The way that Docker Compose works is to read a Docker Compose file. And this is a file which is called compose.yaml or yml. And for legacy purposes, docker-compose.yaml or yml. So this is a file which is read into Docker via Docker Compose, and then Docker creates, updates or deletes resources based on the contents of that file. Now, resources in this sense can mean containers, networking, volumes and other things that Docker provides. Now let's take a look at an example of how this might look visually. So Docker Composer as I've mentioned, starts with the Docker Compose file, which is a YAML document which defines what Docker should do. Generally, to start with, this file is provided via a Docker client to Docker via the Docker Compose op command. And based on this, the Docker Daemon begins to create, adjust or delete resources. As I've mentioned, this might include volumes, networks and will include containers. Now, these containers will require container images and these are often pulled from registries such as Dockerhub. The compose file also configures how containers are presented, so the networking of containers, and this is both internally, so between containers and how the containers are accessible from outside of the Docker host. Now, this is an example of a really simple architecture that can be deployed and managed using Docker Compose. The feature can be used to manage much more complex architectures but the basic concepts are the same regardless of the size. Now, this architecture is also what you're going to experience next in a practical exercise. So when you are ready, go ahead and move on, and you'll get to implement this architecture yourself within a practical environment.