Windows Server 2019で
Container を使ってみる
.NETラボ 勉強会 2018年10月 ~インフラを学ぶ1日~ (2018.10.20)
Kazuki Takai
2.
自己紹介
高井 一輝(Takai Kazuki)
某ISP勤務
クラウドサービスの開発、設計、設備維持
Windows Server / System Center / Linux / etc…
Microsoft MVP - Cloud and Datacenter Management
System Center User Group Japan (SCUGJ)
Twitter : @zhuky7 / Facebook : kazuki.takai
Blog : http://operationslab.wordpress.com/
3.
セッションの内容とゴール
お話しすること
Containerとは
Windows Server の Container 機能
Windows Server 2019 で Container を使う
お話ししないこと
Container のオーケストレーション
ゴール
Windows Server 2019 で Container を使ってみることができる
Containers と VMの違い
Containers = operating system virtualization Traditional virtual machines = hardware virtualization
OS
Kernel
Applications
Container Container Container
Hardware Hardware
OS
Application
VM VM VM
App
OS
App
OS
App
OS
9.
Containers と VMの違い
VM (Virtual Machine)
ハードウェアを仮想化
OS の実行空間を分離
Containers
OS(の一部)を仮想化
アプリケーションの実行空間を分離
2種類の Containers
WindowsServer containers
通常の(一般的な)Containers
Container は、ホスト OS の kernel を使用
Hyper-V containers と比べて軽量(オーバーヘッドが少ない)
所謂 Linux の Containers と同じ
Hyper-V containers
Hyper-V の機能を利用してリソース隔離した Containers
Container は、独自の OS kernel を使用
Windows Server containers と比べて、分離レベルが高い(オーバーヘッドは多い)
17.
どちらを使うか?
今のところは Hyper-Vcontainers を推奨
Windows Server containers の場合、ホストと Container の OS バージョンに注意
https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-
compatibility
Nano Server ベースのイメージを使用するには Hyper-V containers が必要となる
Linux ベースのイメージを使用する場合も Hyper-V containers が必要となる
Client containers (Containers on Windows 10) は Hyper-V containers のみサポート
docker run -it --isolation process microsoft/windowsservercore powershell
C:¥Program Files¥Docker¥Docker¥Resources¥bin¥docker.exe: Error response from daemon:
Windows client operating systems only support Hyper-V containers.
Windows Containers を使う
Windows Server
DockerMsftProvider or DockerProvider PS Module をインストール
docker パッケージをインストール
再起動
https://docs.microsoft.com/ja-jp/virtualization/windowscontainers/quick-
start/quick-start-windows-server
https://docs.microsoft.com/ja-jp/virtualization/windowscontainers/quick-
start/using-insider-container-images
20.
確認ポイント
docker version
Client version / Server (docker engine) version
Experimental
docker info
Default Isolation
Kernel Version
Experimental
21.
Windows 環境向け Dockerclient
(現時点で)Windows 環境向けに特異な docker client option
--isolation
分離モードの指定
--isolation hyperv // クライアント OS のデフォルト
--isolation process // サーバー OS のデフォルト
--platform
(Windows Host 上で)どの OS kernel を使用するかの指定
--platform=linux // LCOW を使用
--platform=windows // Windows を使用
22.
Linux containers onWindows hosts
Windows Host で Linux ベースの Container Image を実行可能
Windows Server 2016 では利用不可
Windows Server 1709 以降(ホスト)
Docker Engine 17.11 以降
LinuxKit / LCOW (最新の Release を推奨)
参考資料
Containers 101with Microsoft and Docker
https://channel9.msdn.com/Blogs/containers/Containers-101-with-Microsoft-
and-Docker?ocid=player
Install Docker Enterprise Edition for Windows Server
https://docs.docker.com/install/windows/docker-ee/