質問: ホストOSの上にゲストOSを立てる際に、仮想化ソフトウェアを用いるばあい 掲題の通りVirtualBox上より、Docker上のほうが軽快です。 どのサイトを見ても、DockerはホストOS上のプロセス上でコンテナが動いているから早い 、BirtualBoxは仮想化ソフトウェアをはさんでいるから遅い、とか書いていません。 しかし、Dockerも仮想化ソフトウェアであり、 どちらもホストOSとゲストOSの間に仮想化ソフトをはさんでいるのには変わりありません。 なぜ、Dockerのほうが早いでしょうか。 既存の仮想化と比較して、理解している方、ご回答おまちしております。
回答: 仮想化のレベルが違う、のです。一言で言えば。 VirtualBox や VMWare は、ホストOS の上で動くエミュレーター(仮想マシン)が、ハードから何から全てエミュレーションしています。 ※ Hyper-V のようなハイパーバイザ型だと、ホストOSもないですが...... これに対して Docker は、OS からハードに至るまでの部分は、ホスト OS と共用しています。 ※ですので、ホストOS と違うOS を駆動させることはできません なので重たい部分をエミュレーションしていない分、Docker の方が早くなります。 Docker は仮想化とは言っていますが、実質的には「sandbox」モデルだと個人的には思っています。