Docker Tip #1: Docker Containers Are Isolated Processes, Not Virtual Machines
There's a number of ways to better understand what Docker containers are, and one way to do that is to define what Docker containers aren't.
A Docker container is just a process / service that runs directly on your machine. It is slightly different than a regular process because the Docker daemon along with the Linux kernel do a few things to ensure it runs in total isolation.
No virtual machines are involved if your platform can run Docker natively. The Docker daemon is responsible for keeping all of your containers happily running in isolation.
A virtual machine is typically used to isolate an entire system. If you used multiple VMs to isolate multiple services, you would be wasting a lot more resources than if you used Docker instead.