This chapter covered how to deploy multi-container applications on Docker hosts. We learned that the docker-compose command does not just deploy applications, but allows us to build and share all application components. Reviewing all the components' statuses is also easier because docker-compose provides a command-line interface for retrieving all the application container's standard and error outputs. We can start and stop all the components at once. But we can go even further than this: we are also able to scale the number of instances of each component up and down. This feature depends on our application logic because the Docker daemon does not know anything about our application processes.
All application components are defined in a YAML-formatted file that can be customized using variables. We learned about the most important keys and their default values in this instance. The docker-compose file is key as it describes all the application components and its resources...