5. ところで
Windows で利用できるコンテナは大きく4種類
Experimental含む
Windows コンテナ
Windows Server Container
Hyper-V Container
Linux Container (Linux Container on Windows)
(旧) Docker for Windows
6. (旧) Docker for Windows
Linux カーネルベースのコンテナが動作
実体は、Hyper-V上に作成される Linux 環境
Hyper-V 上に MobyLinux の VM を作成
Linux VM をコンテナホストとして利用
Windows 側の docker コマンドから Linux VM 上の dockerd へ通信
※(旧)としているのは、現在の Docker for Windows は後述する Windows
Container の管理機能(インタフェース)が含まれているため
7. Windows Server Container
Windows カーネルベースのコンテナが動作
所謂、素のコンテナに一番近い
ホストOSのカーネルをベースとして使用
ホストには Windows Server のみ利用可能
Windows カーネルのコンテナイメージが、Windows Server カーネルベースのものしか提供
されていないため
Nano Server イメージ及び Server Core イメージが利用可能
コンテナホストとなる Windows Server上で dockerd が動作
8. Hyper-V Container
Windows カーネルベースのコンテナが動作
Hyper-V が提供する分離機構を利用
ホストと異なるカーネルを使用可能
ホストに Windows 10 及び Windows Server を利用可能
Windows 10 上で、Windows Server ベースのコンテナイメージを Hyper-V コンテナとして
起動可能
Nano Server イメージ及び Server Core イメージが利用可能
コンテナホスト上で dockerd が動作
9. Linux Container on Windows
Linux カーネルベースのコンテナが動作
Hyper-V コンテナの Linux 版
LinuxKit を使用して、Linuxベースのコンテナイメージを起動
ホストに Windows 10 及び Windows Server を利用可能
コンテナホスト上で dockerd が動作
現時点では Experimental
現行 Preview 版では、Windows ベースのイメージを使用するコンテナと同時に利用できな
い(切り替えにホストの再起動が必要)
Docker 1802 Edge Release から、同時利用可能