ときどきAnsible日記

主にITインフラ基盤の自動化に関する事を書いているブログです

DockerのWindows対応について

お疲れ様です。伊藤です。

WindowsServer2016でDockerの対応がされた、と聞いていたんですが自分自身認識が間違っていたので覚書の意味を込めてここに書いておこうと思います。


まず、Dockerというかコンテナの基本ですが、コンテナはハイパーバイザ型の仮想マシンと違い、ホストOSとカーネルを共有しています。したがって、ホストOSと同じOSしか動かない、というのが基本です。(詳細はDockerコンテナの概要 - ときどきAnsible日記をご参照ください)

で、WindowsServer2016のDocker対応ですが、基本的にはDockerはLinuxから生まれたものなので、Linuxコンテナだと思っていました。で、この対応についてもWindowsServer上でHyperVでLinuxを入れてからその上にDockerをインストールするもの、という認識でした。

もちろんこのパターンもあるのですが、実はこれだけではなくDockerはしっかりとWindowsコンテナにも対応していて、それはWindowsServerコンテナと呼ばれるようです。(ちなみに前者はHyperVコンテナと呼称しているようです)

つまりはWindowsでDockerを使う、といった場合WindowsServerコンテナ(コンテナのOSはWindowsServer)、HyperVコンテナ(コンテナのOSはおそらくLinux、おそらくというのはLinux以外も可能ではあるから)の2種類があるということになります。(HyperV以外でもハイパーバイザ型であれば何でも行けますが)


このあたりの認識がすっかり間違ってました。もし以前の記事にDokcerコンテナと言えばLinux限定!みたいなことを書いていて、読んでいる方を混乱させてしまっていたら訂正させていただきます。
詳細は@IT様の記事に乗っております。なぜ昔この記事を見つけられなかったんだろう。。。。
www.atmarkit.co.jp


以上です。お疲れ様でした。