VMs VS Containers & Docker - the open-source application container engine:
- The key difference between containers and VMs is that while the hypervisor abstracts an entire device, containers just abstract the operating system kernel.
- Hypervisors can do that containers can’t is to use different operating systems or kernels; With Docker, all containers must use the same operating system and kernel.
- Couldn't care less about running multiple operating system VMs. Getting more applications running on the same hardware can save a data center or cloud provider tens-of-millions of dollars annually in power and hardware costs.
- Much easier and safer to deploy and use than previous approaches, with the other container powers, including Canonical, Google, Red Hat, and Parallels.
- Developers can use Docker to pack, ship, and run any application as a lightweight, portable, self sufficient LXC container that can run virtually anywhere.