コンテナとは
Windows Server では、主にLinux界のエコシステムで発達してきたDockerというコンテナ・テクノロジーが使用できる。
コンテナとは仮想環境のように、アプリの実行環境をホストOSや他の仮想環境やコンテナから切り離して独立させ、ホストOSの設定などの影響を受けない閉鎖環境を実現するテクノロジーである。
仮想環境との違いは「リソース消費の軽さ」にある。
仮想環境はエミュレーション技術により、ホストOSとは異なる別のOSを、ホストから独立させて稼働させるテクノロジーである。
これはゲスト(仮想環境)がホストから独立した環境を確保できる反面、まるまるOSが一つ分のマシンリソースを消費し、起動する時も、ホストOSを起動してからゲストOSを起動しなければならないため、ゲストが多数の場合、再起動などに大変時間と手間が掛かる。
コンテナではホストOSのカーネルを借用し、OSのリソースや設定などだけを独立させた実行環境を実現したテクノロジーである。
コンテナはホストOSと一緒に稼働するため、別々に起動する必要もない。
OSのように大量のマシンリソースを消費しないので、コンパクトでもある。
仮想環境に比べて小さくて軽いのだ。
コンテナはホストOSのカーネルを使用するため、Linux上で稼働するコンテナはLinuxカーネルしか利用できない。
Windows Server は、WindowsカーネルとLinuxカーネルが使用できるため、WindowsとLinuxの両方のコンテナを利用できる。
二種類あるWindow Server のコンテナ
Window Server のDockerコンテナには「プロセス分離モード」と「Hyper-V分離モード」の二種類がある。
Microsoftの公式文書では、「プロセス分離モード」のことを
「Windows Server コンテナ」又は「Windows コンテナ」と呼んでいる。
「Hyper-V分離モード」は「Hyper-Vコンテナ」と呼ぶ。
プロセス分離モード(Windows Server コンテナ)
プロセス分離モード(Windows Server コンテナ)は、
Windows Server のカーネルを借用して起動し、
コンテナのホストOSと同じカーネルバージョンとメモリ認識で、
コンテナの実行環境を構築する。
Hyper-V分離モード(Hyper-Vコンテナ)
Hyper-V分離モード(Hyper-Vコンテナ)では、ホストのWindows Server カーネルは使用せず、代わりにHyper-V仮想環境で提供するカーネルを使用する。
提供するカーネルは、Windows Server のカーネルとLinuxカーネルがある。
Windows Server のカーネルについては、
ホストと異なるバージョンのWindows Server カーネルを使用する事もできる。
Windowsアプリでも、Linuxアプリでも使用できるのが独自の付加価値と言えるだろう。
仮想環境を使用するので、プロセス分離モードより実行環境の独立性が高い。
ただし、仮想環境を使用するため、ライセンス上は仮想環境のライセンス規則と同じ制限を受ける。
Essentials(エッセンシャル)エディション
Essentialsエディションではコンテナは使用できない。
Standard(スタンダード)エディション
プロセス分離モード(Windows Server コンテナ)
Standardでは、コンテナのプロセス分離モードは無制限に使用できる。
Hyper-V分離モード(Hyper-Vコンテナ)
Standardでは、Hyper-V分離モードの使用数は、仮想環境の使用制限と同じ制限を受ける。
Hyper-V分離モードの背後で仮想環境からOSカーネルの提供を受けるからだ。
先に説明したが、Standardにおける仮想環境の利用数は、「OSE2つだけ」である。
もし、物理OSEを使用しないのなら、利用できる仮想環境は2つである。
物理OSEを使用するなら、利用できる仮想環境は1つだ。
Hyper-V分離モードのコンテナもこの制約を受ける。
もし、物理OSEを使用しないのなら、
利用できるHyper-V分離モードのコンテナは2つである。
物理OSEを使用するなら、利用できるHyper-V分離モードのコンテナは1つだ。
Datacenter(データセンター)エディション
プロセス分離モード(Windows Server コンテナ)
Datacenterでは、コンテナのプロセス分離モードは無制限に使用できる。
Hyper-V分離モード(Hyper-Vコンテナ)
Datacenterでは、コンテナのHyper-V分離モードは無制限に使用できる。
次へ続く
以上が、コンテナの解説。
次にクライアントのライセンスについての解説に進む。