見出し画像

WindowsやMacでDockerアプリを利用すると裏でVMが動く

まずは前提知識。
DockerはWindows、Mac、LinuxなどOSを選ばず使えるコンテナ管理ツールのこと。
マシンとコンテナの構成を下の図に表す。仮想化技術と違い、コンテナ内にハードウェアは実装されていない。コンテナ内のOSはマシンのOSを利用するためOSが違うと、コンテナは動作しない。また、コンテナ内のOSはLinuxであることが多い。

マシンとコンテナの構成図

ここからが本題。WindowsやMacでLinuxのコンテナを扱う場合、実はDockerは裏でVMを動かしている。その構成図を下に示す。ちなみに、LinuxでLinuxのコンテナを合う使う場合は上記の構成図通りで問題ない。

WindowsやMacでLinuxのコンテナを利用するときの構成図

赤枠で囲んでいる部分は、先ほど載せた構成図になっている。この構成にすることでコンテナ内のOSとVMのOSが同じになるため、問題なく動く。Dockerは便利なので、WindowsやMacで利用するときは、この構成を特に気にしなくても操作できるようになっている。

ここからは余談。
WindowsやMacで利用できるDockerアプリは以下の3種類。

  • Docker Desktop for Windows

  • Docker Desktop for Mac

  • Docker Toolbox

それぞれ、裏で動いているVMは以下のようになっている。

  • Docker Desktop for Windows -> Hyper-V

  • Docker Desktop for Mac -> xhyve

  • Docker Toolbox -> Virtual Box

導入するときは、どのVMが動くマシンなのか確認してからDockerアプリを選ぶ。


いいなと思ったら応援しよう!