SlideShare a Scribd company logo
1 of 12
Download to read offline
Windows とコンテナの話
Kazuki Takai
コンテナ
コンテナとは
 (主に) OSの機能を使用して、分離された環境(空間)を提供するもの
 分離レベルはモノ(プロダクト・OSS)によって異なる
 (通常) ハードウェアレベルでの分離は行わない
 仮想的なハードウェアを提供するわけではない
 基本的にはホストがコントロールするハードウェアをそのまま利用
 仮想マシンではない
コンテナを動かすために重要な2つの要素
 リソースを分離する仕組み
 これは、現代的なほとんどの(Tinyでない)OSが持っている
 当然 Windows も持っている
 OSの仕組みを使う
 「リソースを分離する仕組み」を手軽に使う仕組み
 管理ツールや制御デーモン/サービス
 docker (エコシステム群)が有名
Windows のコンテナは、今のところ docker を使う
ところで
 Windows で利用できるコンテナは大きく4種類
 Experimental含む
 Windows コンテナ
 Windows Server Container
 Hyper-V Container
 Linux Container (Linux Container on Windows)
 (旧) Docker for Windows
(旧) Docker for Windows
 Linux カーネルベースのコンテナが動作
 実体は、Hyper-V上に作成される Linux 環境
 Hyper-V 上に MobyLinux の VM を作成
 Linux VM をコンテナホストとして利用
 Windows 側の docker コマンドから Linux VM 上の dockerd へ通信
※(旧)としているのは、現在の Docker for Windows は後述する Windows
Container の管理機能(インタフェース)が含まれているため
Windows Server Container
 Windows カーネルベースのコンテナが動作
 所謂、素のコンテナに一番近い
 ホストOSのカーネルをベースとして使用
 ホストには Windows Server のみ利用可能
 Windows カーネルのコンテナイメージが、Windows Server カーネルベースのものしか提供
されていないため
 Nano Server イメージ及び Server Core イメージが利用可能
 コンテナホストとなる Windows Server上で dockerd が動作
Hyper-V Container
 Windows カーネルベースのコンテナが動作
 Hyper-V が提供する分離機構を利用
 ホストと異なるカーネルを使用可能
 ホストに Windows 10 及び Windows Server を利用可能
 Windows 10 上で、Windows Server ベースのコンテナイメージを Hyper-V コンテナとして
起動可能
 Nano Server イメージ及び Server Core イメージが利用可能
 コンテナホスト上で dockerd が動作
Linux Container on Windows
 Linux カーネルベースのコンテナが動作
 Hyper-V コンテナの Linux 版
 LinuxKit を使用して、Linuxベースのコンテナイメージを起動
 ホストに Windows 10 及び Windows Server を利用可能
 コンテナホスト上で dockerd が動作
 現時点では Experimental
 現行 Preview 版では、Windows ベースのイメージを使用するコンテナと同時に利用できな
い(切り替えにホストの再起動が必要)
 Docker 1802 Edge Release から、同時利用可能
Demo
注意事項
 Windows Server Container はサポートが厳しい
 コンテナホストとコンテナ側とが、同じOSビルド番号を使用していないと、Not
supported
 Hyper-V による分離を利用する方式の場合は、ホスト側からは直接プロセス等
は見えない
 VMのリソースを取得するのと同じような方式でコンテナ内のメトリック収集が必要
 コンテナの機能をインストールすると、Internal の NAT Networkが自動で生成
される
 仮想スイッチを作成済みの場合は、バッティングに注意
その他
 Container Network は Linux とほぼ同等
 nat, transparent, overlay, l2bridge, (l2tunnel)
 Default は NAT
 Swarm Mode
 利用可能
 Kubernetes
 Windowsコンテナホストをworker nodeとして追加可能
 MasterとしてLinuxが必要

More Related Content

What's hot

Windows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめWindows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめ
Sunao Tomita
 
書籍を執筆して気づいた Windows Server 2012 R2 過去のサーバーOSとの違い
書籍を執筆して気づいた Windows Server 2012 R2 過去のサーバーOSとの違い書籍を執筆して気づいた Windows Server 2012 R2 過去のサーバーOSとの違い
書籍を執筆して気づいた Windows Server 2012 R2 過去のサーバーOSとの違い
wintechq
 
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
Microsoft Azure Japan
 

What's hot (18)

Windows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめWindows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめ
 
ODS ってなんだ?
ODS ってなんだ?ODS ってなんだ?
ODS ってなんだ?
 
今さら聞けない!Windows server 2012 r2 hyper v入門
今さら聞けない!Windows server 2012 r2 hyper v入門今さら聞けない!Windows server 2012 r2 hyper v入門
今さら聞けない!Windows server 2012 r2 hyper v入門
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
 
Interact2015:Host Guardian Service ってなに?(仮)
Interact2015:Host Guardian Service ってなに?(仮)Interact2015:Host Guardian Service ってなに?(仮)
Interact2015:Host Guardian Service ってなに?(仮)
 
書籍を執筆して気づいた Windows Server 2012 R2 過去のサーバーOSとの違い
書籍を執筆して気づいた Windows Server 2012 R2 過去のサーバーOSとの違い書籍を執筆して気づいた Windows Server 2012 R2 過去のサーバーOSとの違い
書籍を執筆して気づいた Windows Server 2012 R2 過去のサーバーOSとの違い
 
Windows Admin Center 2110
Windows Admin Center 2110Windows Admin Center 2110
Windows Admin Center 2110
 
NSX-Tから見たvSphere with Kubernetesのネットワーキング
NSX-Tから見たvSphere with KubernetesのネットワーキングNSX-Tから見たvSphere with Kubernetesのネットワーキング
NSX-Tから見たvSphere with Kubernetesのネットワーキング
 
Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 
Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
 
vSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについてvSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについて
 
無料セミナー20170321 awsから始めるlinux入門
無料セミナー20170321 awsから始めるlinux入門無料セミナー20170321 awsから始めるlinux入門
無料セミナー20170321 awsから始めるlinux入門
 
150523 jpsps ws2012r2_top10_150523
150523 jpsps ws2012r2_top10_150523150523 jpsps ws2012r2_top10_150523
150523 jpsps ws2012r2_top10_150523
 
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
 
Dev@cloudの実装
Dev@cloudの実装Dev@cloudの実装
Dev@cloudの実装
 
Windows Azure and PowerShell DSC
Windows Azure and PowerShell DSCWindows Azure and PowerShell DSC
Windows Azure and PowerShell DSC
 

Similar to Windows とコンテナの話

Similar to Windows とコンテナの話 (20)

そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
そろそろ知っておきたい!!コンテナ技術とDockerのキホンそろそろ知っておきたい!!コンテナ技術とDockerのキホン
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
 
Docker入門
Docker入門Docker入門
Docker入門
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker
 
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introduction
 
Docker 17.06 Updates 最近何が変わったの?
Docker 17.06 Updates 最近何が変わったの?Docker 17.06 Updates 最近何が変わったの?
Docker 17.06 Updates 最近何が変わったの?
 
DrupalをDockerで起動してみる
DrupalをDockerで起動してみるDrupalをDockerで起動してみる
DrupalをDockerで起動してみる
 
Windowsコンテナ入門
Windowsコンテナ入門Windowsコンテナ入門
Windowsコンテナ入門
 
Kernel overview
Kernel overviewKernel overview
Kernel overview
 
Introduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 SpringIntroduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 Spring
 
20230128.pptx
20230128.pptx20230128.pptx
20230128.pptx
 
Awsビギナー向け資料 ec2 20111124
Awsビギナー向け資料 ec2 20111124Awsビギナー向け資料 ec2 20111124
Awsビギナー向け資料 ec2 20111124
 
Mercurial入門(前半)
Mercurial入門(前半)Mercurial入門(前半)
Mercurial入門(前半)
 
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIJenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
 
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
20050903
2005090320050903
20050903
 
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
 
Dockerことはじめ的なはなし
Dockerことはじめ的なはなしDockerことはじめ的なはなし
Dockerことはじめ的なはなし
 
Osc2009 Sendai Xen 0124
Osc2009 Sendai Xen 0124Osc2009 Sendai Xen 0124
Osc2009 Sendai Xen 0124
 

More from Kazuki Takai

More from Kazuki Takai (20)

Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用
 
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
 
Azure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox EditionAzure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox Edition
 
ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報
 
Arc 対応サーバーへの SSH アクセス
Arc 対応サーバーへの SSH アクセスArc 対応サーバーへの SSH アクセス
Arc 対応サーバーへの SSH アクセス
 
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
 
Insight into Azure Active Directory - Azure AD Custom Role & Scope
Insight into Azure Active Directory - Azure AD Custom Role & ScopeInsight into Azure Active Directory - Azure AD Custom Role & Scope
Insight into Azure Active Directory - Azure AD Custom Role & Scope
 
最近の PowerShell について
最近の PowerShell について最近の PowerShell について
最近の PowerShell について
 
Windows Server 2022 Datacenter Azure Edition Overview
Windows Server 2022 Datacenter Azure Edition OverviewWindows Server 2022 Datacenter Azure Edition Overview
Windows Server 2022 Datacenter Azure Edition Overview
 
Azure Arc 概要
Azure Arc 概要Azure Arc 概要
Azure Arc 概要
 
Past and Future of PowerShell
Past and Future of PowerShellPast and Future of PowerShell
Past and Future of PowerShell
 
Introducing Windows Terminal
Introducing Windows TerminalIntroducing Windows Terminal
Introducing Windows Terminal
 
Recap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringRecap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover Clustering
 
使ってみよう PowerShell
使ってみよう PowerShell使ってみよう PowerShell
使ってみよう PowerShell
 
5分で分かる Windows Server 2019 HCI 超概要
5分で分かる Windows Server 2019 HCI 超概要5分で分かる Windows Server 2019 HCI 超概要
5分で分かる Windows Server 2019 HCI 超概要
 
Recap: PowerShell Core
Recap: PowerShell CoreRecap: PowerShell Core
Recap: PowerShell Core
 
DSC 再入門
DSC 再入門DSC 再入門
DSC 再入門
 
Azure Stack の使い道 - 2017年11月版 -
Azure Stack の使い道 - 2017年11月版 -Azure Stack の使い道 - 2017年11月版 -
Azure Stack の使い道 - 2017年11月版 -
 
最近の PowerShell のお話
最近の PowerShell のお話最近の PowerShell のお話
最近の PowerShell のお話
 
Nano Server First Step
Nano Server First StepNano Server First Step
Nano Server First Step
 

Windows とコンテナの話

  • 3. コンテナとは  (主に) OSの機能を使用して、分離された環境(空間)を提供するもの  分離レベルはモノ(プロダクト・OSS)によって異なる  (通常) ハードウェアレベルでの分離は行わない  仮想的なハードウェアを提供するわけではない  基本的にはホストがコントロールするハードウェアをそのまま利用  仮想マシンではない
  • 4. コンテナを動かすために重要な2つの要素  リソースを分離する仕組み  これは、現代的なほとんどの(Tinyでない)OSが持っている  当然 Windows も持っている  OSの仕組みを使う  「リソースを分離する仕組み」を手軽に使う仕組み  管理ツールや制御デーモン/サービス  docker (エコシステム群)が有名 Windows のコンテナは、今のところ docker を使う
  • 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 から、同時利用可能
  • 10. Demo
  • 11. 注意事項  Windows Server Container はサポートが厳しい  コンテナホストとコンテナ側とが、同じOSビルド番号を使用していないと、Not supported  Hyper-V による分離を利用する方式の場合は、ホスト側からは直接プロセス等 は見えない  VMのリソースを取得するのと同じような方式でコンテナ内のメトリック収集が必要  コンテナの機能をインストールすると、Internal の NAT Networkが自動で生成 される  仮想スイッチを作成済みの場合は、バッティングに注意
  • 12. その他  Container Network は Linux とほぼ同等  nat, transparent, overlay, l2bridge, (l2tunnel)  Default は NAT  Swarm Mode  利用可能  Kubernetes  Windowsコンテナホストをworker nodeとして追加可能  MasterとしてLinuxが必要