VMとDocker比較
VM
1層目
PCやクラウド場のサーバーなどのインフラがまずある
2層目
Host OSが存在している(Mac OS, Windowsなど)
3層目
Hypervisorと呼ばれる各仮想マシンを実行するソフトウェア、ハードウェアがある
Hypervisorには直接ハードウェアとリンクしているものとHostOS上でアプリケーションとして動いているものの2種類がある。
4層目
Guest OSがある
5層目
バイナリーファイルやアプリケーションに必要なライブラリーなどがある
6層目
アプリケーションがある。
Docker
2層目まではVMと同じ構造
3層目にHypervisorの代わりにDokcer Damonと呼ばれるサービスがあり仮想環境全体を制御している
4層目と5層目はライブラリーとアプリケーション

DockerはGuest OSがのっからない分、余計なメモリやCPUリソースなどを節約できる。また立ち上げスピードが段違いに速い。
VMはシステムが独立、DockerはアプリがDocker imageとして独立。