More Related Content
Similar to Windows Server 2016でコンテナを動かしてみた (20)
More from Takashi Kanai (9)
Windows Server 2016でコンテナを動かしてみた
- 2. 自己紹介
• 名前:金井 崇
• 所属:株式会社IDCフロンティア
• 仕事:2008年からIaaSインフラの設計・構築・運用・提案を担当
• 興味:仮想化 コンテナ オールフラッシュ GPU FPGA
Chef Docker PowerShell VSCode Hadoop
• SNSなど:
• Facebook https://www.facebook.com/anikundesu
• Blog http://www.takanyan.net/
• Twitter @anikundesu
• LinkedIn https://jp.linkedin.com/in/takashikanai/ja
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 2
- 3. 注意事項
本セッションは、Windows10 Insider Preview(Fast Ring, タイミングによりバージョンが異なる)
とWindows Server 2016 試用版での検証結果をもとに記述をしています。正式版では挙動が異なる
場合がありますので、ご留意ください。
本セッション資料は、個人で準備した環境において、個人的に実施した検証・結果を基に記載して
います。あくまで個人の意見・見解であり、所属する会社・組織及びマイクロソフト社とは関係が
ございません。所属する会社・組織・マイクロソフト社の正式な回答・見解ではない事に留意して
ください。
本資料を閲覧した事により問題が生じた場合、または問題が発生しかけた場合、または生じた一切
の不利益について、発表者は一切の責任を負う事はできませんのでご了承ください。
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 3
- 8. 第2 vs 第3のプラットフォーム
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 8
出典:Microsoft: Building a Massively Scalable System with DataStax and Microsoft's Next Generation PaaS Infrastructure
http://www.slideshare.net/planetcassandra/microsoft-building-a-massively-scalable-system-with-datastax-and-microsofts-next-generation-paas-infrastructure
- 9. 仮想マシン vs コンテナ
仮想マシン
• 仮想マシン毎にOSが独立
• OSが複数動く
• 仮想化Overheadあり
• データは永続的
• 起動は数10秒単位
「ハードウェアの仮想化」
コンテナ
• OSカーネルは共通
• 1つのOS内のプロセス
• Overheadほぼ無し
• データは揮発的
• 起動はミリ秒単位
「プロセス空間の分離」
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 9
- 11. Windowsの3つのコンテナ機能
1. Windows Serverコンテナー
Windows OS上でプロセス空間の分離
2. Hyper-Vコンテナー
OS KernelをHyper-Vで分離したコンテナ環境を実現
3. Docker for Windows
Hyper-Vで動かすLinux仮想マシンでLinux OSコンテナを実行
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 11
- 12. Windows Serverコンテナー
• 一つのOS上でプロセスを分離
• Docker APIでコンテナを操作
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 12
Windows ホストのOS Kernel
Windows Server
コンテナー1
Windows Server
コンテナー2
Process1 Process2
Docker Engine
ホスト
Process
Docker Client
Docker API
- 13. Hyper-Vコンテナー
• 一つのコンテナに1つのOS
• Docker APIでHyper-Vの仮想マシンを操作
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 13
Windowsホスト
OS Kernel VM1 VM2
Process1 Process2
Docker Engine
ホスト
Process
Docker Client
Docker API
Hyper-V
ゲスト1
Win Kernel
ゲスト2
Win Kernel
- 14. Docker for Windows
• Hyper-V上にLinux仮想マシンを1つ作成
• Docker APIでLinux仮想マシン上のコンテナを操作
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 14
Windowsホスト
OS Kernel VM
Docker Engine
ホスト
Process
Docker Client
Docker API
Hyper-V
Linux Kernel
Linuxコンテナ
Process1
Linuxコンテナ
Process2
- 18. Windows Serverコンテナ構築手順
2. Windows Updateを必ず実施
• Windows Serverコンテナ利用に必須なUpdateあり
3.DockerのインストールとOS再起動
PS C:¥> Install-Module -Name DockerMsftProvider -Repository PSGallery –Force
PS C:¥> Install-Package -Name docker -ProviderName DockerMsftProvider
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 18
- 20. DEMO:Windows Serverコンテナ
1. sample-dotnetコンテナの実行
C:¥> docker run microsoft/sample-dotnet
2. Nano Serverのコンテナを起動
C:¥> docker run -it microsoft/nanoserver cmd
3. コンテナプロセスの見え方の確認
コンテナ内の各プロセスがそのままプロセスとして見える
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 20
- 25. DEMO:Hyper-Vコンテナ
1. Windows Nano Serverのイメージ入手
2. Nano Serverのコンテナを起動
3. コンテナプロセスの見え方の確認
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 25
- 26. DEMO:Hyper-Vコンテナ
1. Windows Nano Serverのイメージ入手
C:¥> docker pull microsoft/nanoserver
2. Nano Serverのコンテナを起動
C:¥> docker run -it microsoft/nanoserver cmd
3. コンテナプロセスの見え方の確認
vmwp.exe(Hyper-Vの仮想マシン)として見える
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 26
- 27. Docker for Windows構築
• Windows10 Pro、2016で利用可能
• Hyper-VやVirtual Boxの仮想化が必要
• 実行されるコンテナはLinuxベース
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 27
- 28. Docker for Windows構築手順
1. Hyper-Vの機能有効化
2. Docker for Windowsのインストール
• https://docs.docker.com/docker-for-windows/ で「Stable Channel」からイ
ンストーラーをダウンロード。
• インストーラーを実行し、ウィザードに従いインストールを実行
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 28
Hyper-Vにチェックをつけて
有効化後、OS再起動
- 29. DEMO:Docker for Windows
1. Hello Worldコンテナの起動
2. Ubuntu Linuxのコンテナでbashを起動
3. コンテナプロセスの見え方の確認
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 29
- 30. DEMO:Docker for Windows
1. Hello Worldコンテナの起動
C:¥> docker run hello-world
2. Ubuntu Linuxのコンテナでbashを起動
C:¥> docker run -it Ubuntu bash
3. コンテナプロセスの見え方の確認
MobyLinuxVM(Hyper-VのLinux仮想マシン)として見える
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 30