Summary
In this chapter, we presented miscellaneous tips, tricks, and concepts that are useful when containerizing complex distributed applications or when using Docker to automate sophisticated tasks. We also learned how to leverage containers to run a whole development environment inside of them.
In the next chapter, we will introduce the concept of a distributed application architecture and discuss the various patterns and best practices that are required to run a distributed application successfully.