![見出し画像](https://assets.st-note.com/production/uploads/images/128773179/rectangle_large_type_2_f614743b1f7d19bb9a14f5c61dcfbd1d.png?width=1200)
WindowsやMacでDockerアプリを利用すると裏でVMが動く
まずは前提知識。
DockerはWindows、Mac、LinuxなどOSを選ばず使えるコンテナ管理ツールのこと。
マシンとコンテナの構成を下の図に表す。仮想化技術と違い、コンテナ内にハードウェアは実装されていない。コンテナ内のOSはマシンのOSを利用するためOSが違うと、コンテナは動作しない。また、コンテナ内のOSはLinuxであることが多い。
![](https://assets.st-note.com/img/1706188512926-Baqpm0dxgo.jpg?width=1200)
ここからが本題。WindowsやMacでLinuxのコンテナを扱う場合、実はDockerは裏でVMを動かしている。その構成図を下に示す。ちなみに、LinuxでLinuxのコンテナを合う使う場合は上記の構成図通りで問題ない。
![](https://assets.st-note.com/img/1706188545112-qIq6jFKyXI.jpg?width=1200)
赤枠で囲んでいる部分は、先ほど載せた構成図になっている。この構成にすることでコンテナ内の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アプリを選ぶ。
この記事が気に入ったらサポートをしてみませんか?