In this section, we will be looking at the differences in Docker containers and typical virtual machines. We will focus on the benefits that Docker containers have over typical virtual machines. We'll take a look at the good; the not so bad: those items that aren't bad but you will want keep an eye on them; and the items you want to look out for: those are the items that you will ultimately want to consider while using Docker containers over typical virtual machines.
When you start a Docker container, there is a lot of work going on behind the scenes and two of those items are setting up namespaces and control groups. What does that mean? By setting up namespaces, Docker keeps the processes isolated in each container; not only from other containers, but also from the host system. The control groups ensure that each container gets its own share of items such as CPU, memory, and disk I/O. More importantly, they ensure that one container doesn't exhaust all the...