Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Windows Server 2016で
コンテナを動かしてみた
2016年12月17日
System Center User Group Japan
金井 崇
自己紹介
• 名前:金井 崇
• 所属:株式会社IDCフロンティア
• 仕事:2008年からIaaSインフラの設計・構築・運用・提案を担当
• 興味:仮想化 コンテナ オールフラッシュ GPU FPGA
Chef Docker PowerShe...
注意事項
本セッションは、Windows10 Insider Preview(Fast Ring, タイミングによりバージョンが異なる)
とWindows Server 2016 試用版での検証結果をもとに記述をしています。正式版では挙動が異な...
本日のアジェンダ
2
3
4
なぜ今コンテナなのか1
Windowsの3つのコンテナ
まとめ
コンテナ環境の構築とデモ
Copyright © 2016 System Center
User Group Japan. All Rights Re...
なぜ今コンテナなのか
Section 1
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 5
スケーラブルなアーキテクチャ
例題)全日本人が1つのセンサーを持ちリアルタイムに
データを集めるIoTデータ収集基盤のサイジング
• 全センサー(Client)数:100,000,000
• TCP接続数/サーバー : 50,000(※)
• ...
第3のプラットフォーム
• IDCが最初に提唱
メインフレーム、クライアント・サーバーに続く次のPlatform
• 第3のPlatformが求められる4つのシーン
Cloud、BigData、Mobile、Social
• 実現にはMicro...
第2 vs 第3のプラットフォーム
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 8
出典:Microsoft: Building a Massive...
仮想マシン vs コンテナ
仮想マシン
• 仮想マシン毎にOSが独立
• OSが複数動く
• 仮想化Overheadあり
• データは永続的
• 起動は数10秒単位
「ハードウェアの仮想化」
コンテナ
• OSカーネルは共通
• 1つのOS内の...
Windowsの3つのコンテナ
Section 2
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 10
Windowsの3つのコンテナ機能
1. Windows Serverコンテナー
Windows OS上でプロセス空間の分離
2. Hyper-Vコンテナー
OS KernelをHyper-Vで分離したコンテナ環境を実現
3. Docker f...
Windows Serverコンテナー
• 一つのOS上でプロセスを分離
• Docker APIでコンテナを操作
Copyright © 2016 System Center
User Group Japan. All Rights Rese...
Hyper-Vコンテナー
• 一つのコンテナに1つのOS
• Docker APIでHyper-Vの仮想マシンを操作
Copyright © 2016 System Center
User Group Japan. All Rights Res...
Docker for Windows
• Hyper-V上にLinux仮想マシンを1つ作成
• Docker APIでLinux仮想マシン上のコンテナを操作
Copyright © 2016 System Center
User Group J...
コンテナ環境の構築とデモ
Section 3
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 15
Windows Serverコンテナ構築
• Windows Server 2016でのみ利用可能
• 仮想マシンの中でも作成可能
Copyright © 2016 System Center
User Group Japan. All Rig...
Windows Serverコンテナ構築手順
1. Windowsの「コンテナー」機能有効化
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 17
コン...
Windows Serverコンテナ構築手順
2. Windows Updateを必ず実施
• Windows Serverコンテナ利用に必須なUpdateあり
3.DockerのインストールとOS再起動
PS C:¥> Install-Mod...
DEMO:Windows Serverコンテナ
1. sample-dotnetコンテナの実行
2. Nano Serverのコンテナを起動
3. コンテナプロセスの見え方の確認
Copyright © 2016 System Center
U...
DEMO:Windows Serverコンテナ
1. sample-dotnetコンテナの実行
C:¥> docker run microsoft/sample-dotnet
2. Nano Serverのコンテナを起動
C:¥> docker...
Hyper-Vコンテナ構築
• Windows10 Pro、2016で利用可能
• Hyper-Vが必要
• 実行されるコンテナはWindowsベース
Copyright © 2016 System Center
User Group Japa...
Hyper-Vコンテナ構築手順
1. Windowsの「コンテナー」機能有効化
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 22
Hyper-Vとコ...
Hyper-Vコンテナ構築手順
2. Dockerのダウンロードとインストール
• https://master.dockerproject.org/ にアクセスしdocker-(ver)-dev.zipを入手
• 管理者権限コマンドプロンプト...
Hyper-Vコンテナ構築手順
3. Docker Engineサービスの起動
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 24
「Docker E...
DEMO:Hyper-Vコンテナ
1. Windows Nano Serverのイメージ入手
2. Nano Serverのコンテナを起動
3. コンテナプロセスの見え方の確認
Copyright © 2016 System Center
Us...
DEMO:Hyper-Vコンテナ
1. Windows Nano Serverのイメージ入手
C:¥> docker pull microsoft/nanoserver
2. Nano Serverのコンテナを起動
C:¥> docker ru...
Docker for Windows構築
• Windows10 Pro、2016で利用可能
• Hyper-VやVirtual Boxの仮想化が必要
• 実行されるコンテナはLinuxベース
Copyright © 2016 System C...
Docker for Windows構築手順
1. Hyper-Vの機能有効化
2. Docker for Windowsのインストール
• https://docs.docker.com/docker-for-windows/ で「Stabl...
DEMO:Docker for Windows
1. Hello Worldコンテナの起動
2. Ubuntu Linuxのコンテナでbashを起動
3. コンテナプロセスの見え方の確認
Copyright © 2016 System Cent...
DEMO:Docker for Windows
1. Hello Worldコンテナの起動
C:¥> docker run hello-world
2. Ubuntu Linuxのコンテナでbashを起動
C:¥> docker run -it...
まとめ
Section 4
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 31
まとめ
• IoT、BigData等で求められるスケーラビリティは現行の「第2のプ
ラットフォーム」では実現が難しい
• 次世代のニーズに対応する「第3のプラットフォーム」実現のため
の要素技術の一つがコンテナ
• コンテナはOverheadが...
参考資料
• MSDN「Windows コンテナー」
https://msdn.microsoft.com/ja-
jp/virtualization/windowscontainers/about/about_overview
• Get S...
Q&A
??
Copyright © 2016 System Center
User Group Japan. All Rights Reserved. 34
Upcoming SlideShare
Loading in …5
×

Windows Server 2016でコンテナを動かしてみた

3,827 views

Published on

Windows Server 2016で利用可能なコンテナには3種類あります。本資料では、コンテナが使われるようになってきた背景と、実際にコンテナを動かしたらどのように見えるのかなどについて解説しています。

Published in: Technology
  • Be the first to comment

Windows Server 2016でコンテナを動かしてみた

  1. 1. Windows Server 2016で コンテナを動かしてみた 2016年12月17日 System Center User Group Japan 金井 崇
  2. 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. 3. 注意事項 本セッションは、Windows10 Insider Preview(Fast Ring, タイミングによりバージョンが異なる) とWindows Server 2016 試用版での検証結果をもとに記述をしています。正式版では挙動が異なる 場合がありますので、ご留意ください。 本セッション資料は、個人で準備した環境において、個人的に実施した検証・結果を基に記載して います。あくまで個人の意見・見解であり、所属する会社・組織及びマイクロソフト社とは関係が ございません。所属する会社・組織・マイクロソフト社の正式な回答・見解ではない事に留意して ください。 本資料を閲覧した事により問題が生じた場合、または問題が発生しかけた場合、または生じた一切 の不利益について、発表者は一切の責任を負う事はできませんのでご了承ください。 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 3
  4. 4. 本日のアジェンダ 2 3 4 なぜ今コンテナなのか1 Windowsの3つのコンテナ まとめ コンテナ環境の構築とデモ Copyright © 2016 System Center User Group Japan. All Rights Reserved. 4
  5. 5. なぜ今コンテナなのか Section 1 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 5
  6. 6. スケーラブルなアーキテクチャ 例題)全日本人が1つのセンサーを持ちリアルタイムに データを集めるIoTデータ収集基盤のサイジング • 全センサー(Client)数:100,000,000 • TCP接続数/サーバー : 50,000(※) • 必要なサーバー数 : 2,000(=1億÷5万) ※データをStreaming方式で流すためにTCP接続を張りっぱなしにする前提 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 6 VMでは無理!
  7. 7. 第3のプラットフォーム • IDCが最初に提唱 メインフレーム、クライアント・サーバーに続く次のPlatform • 第3のPlatformが求められる4つのシーン Cloud、BigData、Mobile、Social • 実現にはMicroserviceが必要 ここでコンテナが使われる Copyright © 2016 System Center User Group Japan. All Rights Reserved. 7
  8. 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. 9. 仮想マシン vs コンテナ 仮想マシン • 仮想マシン毎にOSが独立 • OSが複数動く • 仮想化Overheadあり • データは永続的 • 起動は数10秒単位 「ハードウェアの仮想化」 コンテナ • OSカーネルは共通 • 1つのOS内のプロセス • Overheadほぼ無し • データは揮発的 • 起動はミリ秒単位 「プロセス空間の分離」 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 9
  10. 10. Windowsの3つのコンテナ Section 2 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 10
  11. 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. 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. 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. 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
  15. 15. コンテナ環境の構築とデモ Section 3 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 15
  16. 16. Windows Serverコンテナ構築 • Windows Server 2016でのみ利用可能 • 仮想マシンの中でも作成可能 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 16
  17. 17. Windows Serverコンテナ構築手順 1. Windowsの「コンテナー」機能有効化 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 17 コンテナーの機能にチェックを つけて有効化後、OS再起動
  18. 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
  19. 19. DEMO:Windows Serverコンテナ 1. sample-dotnetコンテナの実行 2. Nano Serverのコンテナを起動 3. コンテナプロセスの見え方の確認 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 19
  20. 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
  21. 21. Hyper-Vコンテナ構築 • Windows10 Pro、2016で利用可能 • Hyper-Vが必要 • 実行されるコンテナはWindowsベース Copyright © 2016 System Center User Group Japan. All Rights Reserved. 21
  22. 22. Hyper-Vコンテナ構築手順 1. Windowsの「コンテナー」機能有効化 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 22 Hyper-Vとコンテナーの両方に チェックをつけて有効化後、 OS再起動
  23. 23. Hyper-Vコンテナ構築手順 2. Dockerのダウンロードとインストール • https://master.dockerproject.org/ にアクセスしdocker-(ver)-dev.zipを入手 • 管理者権限コマンドプロンプトで次のコマンドを実行 C:¥Program Files¥docker> dockerd –register-service • 環境変数”Path”に”C:¥Program Files¥docker”を追加 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 23 ダウンロード後、ZIPファイルを 展開し、中身をC:¥Program Filesへ
  24. 24. Hyper-Vコンテナ構築手順 3. Docker Engineサービスの起動 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 24 「Docker Engine」を右クリック して「開始」
  25. 25. DEMO:Hyper-Vコンテナ 1. Windows Nano Serverのイメージ入手 2. Nano Serverのコンテナを起動 3. コンテナプロセスの見え方の確認 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 25
  26. 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. 27. Docker for Windows構築 • Windows10 Pro、2016で利用可能 • Hyper-VやVirtual Boxの仮想化が必要 • 実行されるコンテナはLinuxベース Copyright © 2016 System Center User Group Japan. All Rights Reserved. 27
  28. 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. 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. 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
  31. 31. まとめ Section 4 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 31
  32. 32. まとめ • IoT、BigData等で求められるスケーラビリティは現行の「第2のプ ラットフォーム」では実現が難しい • 次世代のニーズに対応する「第3のプラットフォーム」実現のため の要素技術の一つがコンテナ • コンテナはOverheadが非常に少ない高効率な基盤を提供可能 • DockerはWindows/Linuxどちらのコンテナも扱うことができる • コンテナの実装方法は複数存在し、プロセスの分離度が違う Copyright © 2016 System Center User Group Japan. All Rights Reserved. 32
  33. 33. 参考資料 • MSDN「Windows コンテナー」 https://msdn.microsoft.com/ja- jp/virtualization/windowscontainers/about/about_overview • Get Started with Docker for Windows https://docs.docker.com/docker-for-windows/ • クラウド時代のシステム管理(私の個人Blog) http://www.takanyan.net/ Copyright © 2016 System Center User Group Japan. All Rights Reserved. 33
  34. 34. Q&A ?? Copyright © 2016 System Center User Group Japan. All Rights Reserved. 34

×