Container considerations
When Docker was first released, there was a lot of talk about Docker versus virtual machines. I remember reading articles in magazines, commenting on threads on Reddit, and reading endless blog posts. In the early days of the Docker alpha and beta versions, people used to approach Docker containers like virtual machines, because there weren't really any other points of reference, and we viewed them as tiny VMs.
In the past, I would enable SSH, run multiple processes in containers, and even create my container images by launching a container and running the commands to install my software stack. We discussed in Chapter 2, Building Container Images, that you should never install, configure, and export SSH on your containers as it is regarded as a bad practice as Docker provides ways for you to access your containers without having to use SSH.
So, rather than discussing containers versus virtual machines, let's look at some of the considerations...