Docker for WindowsでなぜLinuxがWindows上で動くのか気になったので調べてみた

はじめに

Dockerは仮想マシンと違い、ホストOSにゲストOSは載っておらず、あくまでアプリやミドルウェアがコンテナとして搭載されるもの、と理解していました。

f:id:room01:20200607115134p:plain
https://knowledge.sakura.ad.jp/13265/ から引用

しかし、Docker for WindowsはWindows10 ProからLinuxのOSを動かすことが可能です。それは何故なのか気になったので調べてみました。

結論

Docker for WindowsHyper-V仮想マシンを作成できるツール)でLinuxを作成しているからでした。
つまりDocker for Windowsは一般的に知られるゲストOSがないDockerの仕組みとは異なり、仮想マシンを使っていました。
よくよく考えたら当たり前なのですが、Dockerという名前であるがDockerの仕組みとは異なる部分があり、腑に落ちなかったので調べてみました。
理解の間違いがありましたらご指摘いただけますと幸いです。

参考

docs.docker.com

www.atmarkit.co.jp

knowledge.sakura.ad.jp