概要
第28回 PaaS勉強会でWindowsServer2016のコンテナ技術に関する発表を伺ったのでメモをまとめた。
またWindowsServer2016 TechPreview3を触った所感もまとめた。
(注意)この記事は2015/09/11時点の内容です。最新情報はMicrosoft公式を参照下さい。
WindowsServer2016が扱うコンテナの種類
WindowsServer2016では2種類のコンテナを扱う。
kernerl空間を共有するタイプ
Docker等と同じタイプのコンテナ。
ホスト(WindowsServer)とkernel空間を共有しているため、当然Linux用のコンテナは動かない。
kernel空間を共有しないタイプ
実態はHyper-Vによる仮想環境。
なぜkernel空間を共有しないのかというと、エンタープライズ系の人は「1つのkernel上で複数のアプリケーションを動かすと、kernelが死んだ時のリスクが怖すぎる」らしく、これに対応するためとのこと。
中身はHyper-Vだが操作コマンドはkernel空間を共有するタイプと同じ。
つまりユーザはコンテナ技術の実装方法(kernel空間を共有するタイプか、それともHyper-Vによる共有しないタイプか)を(あまり)気にしなくて良い。多分…
NanoServer
普通のWindowsServerはコンテナのイメージとして使うにはサイズが大きすぎる。
そこで登場するのがNanoServer。これはフットプリントの小さいWindowsServerらしい。
WindowsServer2016TechPreview3 を触ってみる
WindowsServer2016TechPreview3を実際にインストールして触ってみた。
環境
- ホストOS:CentOS 6.6
- 仮想環境:VMware Palyer 6.0.4
インストール
インストールウィザードに従って進めれば良い。
途中、CUIかGUIか選択を求められる。今回はCUIを選択した。
キーボードレイアウトが上手く認識されず記号が正しく入力できないが、それ以外は問題なく動作した。
コンテナ周りの検証
kernelを共有するタイプのコンテナのみ検証した。
できたこと
-
docker build
コマンドの実行 -
docker run
コマンドの実行 -
docker run
する際のport mappingの指定
できなかったこと
-
docker run
する際のlink, volumeの指定
補足
- コンテナを操作するコマンドはDockerコマンド系とPowerShellコマンド系の2種類があった。できることは多分一緒だと思う。
- ベースとなるイメージが9.4Gとでかい。つまりNanoServerは有用?
- 検証はMSBlogの通りにやったら簡単に出来た。
- wgetやunzip的なことがコマンドから出来るようになっており、思ったよりはDockerfileをちゃんと書けそうだった。
その他の所感(コンテナと関係ない内容)
PowerShellが便利になっていた(コマンドのシンタックスハイライトが使える、Ctrl+Rでコマンド履歴の検索が出来る等)。