Containers are a wonderful method of hosting applications. Without needing to dedicate RAM and CPU resources, you can spin up more containers on your hardware than you'd be able to with virtual machines. While not all applications can be run inside containers, it's a very useful tool to have available. In this chapter, we looked at both Docker and LXD. While Docker is better for cross-platform applications, LXD is simpler to use but is very flexible. We started out by discussing the differences between these two solutions, then we experimented with both, creating containers and looking at how to manage them.
In the next chapter, we will venture back into the world of automation. While we have taken a look at scripting in Chapter 11, Learning Advanced Shell Techniques, we're going to look at an even more powerful method in Chapter 14, Automating Server Configuration...