Docker vs. Virtual Machine

  1. Layer – Kernel communicates with hardware (CPU, Hard drive, RAM etc.)

  2. Layer – Application run on kernel layer.

Container architecture

A container is an isolated, lightweight silo for running an application on the host operating system. Containers build on top of the host operating system's kernel (which can be thought of as the buried plumbing of the operating system), and contain only apps and some lightweight operating system APIs and services that run in user mode, as shown in this diagram.

Virtual machine architecture

In contrast to containers, VMs run a complete operating system–including its own kernel–as shown in this diagram.

Last updated