調べたことメモ。
大前提
まず大前提として、
DockerはLinux上でしか動きません。
大事なことなのでもう一度言います。
DockerはLinux上でしか動きません。
え?でもMacやWindowsでも動いてるじゃん?
と思うかもですが、厳密に言うとDockerは動作するために「Linuxのカーネルが必要」なのであって「Linuxが必要」というわけではないのです。
なので、Linuxカーネルさえ別途用意してやれば、WindowsやMacでもDockerを動かせる・・・という理屈です。
違い
2021年8月現在、Windows版の Docker には以下の3種類があります。
Docker DeskTop (WSL2版) |
Docker DeskTop (Hyper-V版) |
Docker Toolbox | |
---|---|---|---|
Linuxカーネルの提供元 | Microsoft社 | Docker社 | |
仮想化ソフト | Hyper-V (一部機能?) |
Hyper-V | VirtualBox |
エディションの制限 | なし | Windows Pro以上 | ? (興味がないので調べてませんがおそらく制限はないと思われます) |
OSのバージョンの制限 | ver2004以降 | Build16299以降 |
文章でザックリ
3つの違いを文章でザックリ言うと以下のとおりです。
- Docker DeskTop(WSL2版)
→Microsoftが用意してくれたLinuxカーネル(WSL2用にカスタマイズされた奴)を使ってDockerを起動するやで!
仮想化にはHyper-Vを使うやで!
(WSL2のLinuxカーネルを使う場合は、HyperーVを使う際のOSエディションの制限が受けないのだ!😀)
- Docker DeskTop(Hyper-V版)
→Docker社が自分で用意したLinuxカーネルを使ってDockerを起動するやで!
仮想化にはHyper-Vを使うやで!
(自前で用意したOSを使う場合は、HyperーVを使えるOSエディションが制限されてしまうのだ!😫)
- Docker Toolbox
→Docker社が自分で用意したLinuxカーネルを使ってDockerを起動するやで!
仮想化にはVirtualBoxを使うやで!
(Microsoftにはまったく頼らんで!😑)
現状、Docker Toolboxを使うメリットはないので、Docker DeskTop一択という状況です。
(Docker DeskTopは、Docker公式ページからダウンロードできます)
さらにDocker DeskTopの中でも、WSL2版一択という状況です。
なぜなら、Docker自身も「WSL2版がおすすめだよ」と言ってますし、WSL2版ならOSのエディションに限らず誰でも使えるからです。
図解
図解すると以下のような感じです。
このように、実際に3種類のソフトがあるというわけではなく、
- Docker Desktop
- Docker Toolbox
という2種類のソフトがあり、Docker Desktopの方に
- WSL2版
- HyperーV版
という2種類の機能が内蔵されている・・・という感じになっています。
▲Docker Desktopの設定画面。
このチェックを外すと、おそらくHyper-V版で動くようになりますが、私はHomeエディションを使っているのでチェックが外せなくなってます。
|
おわり
参考にした本:
仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん | 小笠原種高 |本 | 通販 | Amazon
コメント