SlideShare a Scribd company logo
1 of 27
Download to read offline
Windows Server 2019 で
Container を使ってみる
.NETラボ 勉強会 2018年10月 ~インフラを学ぶ1日~ (2018.10.20)
Kazuki Takai
自己紹介
 高井 一輝 (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/
セッションの内容とゴール
 お話しすること
 Container とは
 Windows Server の Container 機能
 Windows Server 2019 で Container を使う
 お話ししないこと
 Container のオーケストレーション
 ゴール
 Windows Server 2019 で Container を使ってみることができる
Agenda
 Containers とは
 Windows Server の Containers
 Containers を使う
 なるべくデモ中心で…
はじめる前に
 本資料の内容は個人的な検証結果に基づきます
 所属する会社や組織、マイクロソフト社の公式な見解を記載するものではありません
 表記や内容に誤りがあるなど、お気づきの点があれば、ご連絡いただけると幸いです
 本セッションでは、以下の環境をベースにお話しします
 Windows Server 2019 LTSC Build 17763.55 + Docker 18.03.1-ee-3
Containers とは
 コンテナーとは
 コンテナーとは、分離された独自のボックスにアプリケーションをラップする方法で
す。 コンテナー内のアプリケーションは、ボックスの外に存在するアプリケーション
やプロセスを認識しません。 コンテナー内には、アプリケーションの正常な実行に必
要なすべての要素も存在します。 ボックスを移動しても、アプリケーションの実行に
必要な要素がすべて揃っているため、アプリケーションが常に正常に実行されます。
 https://docs.microsoft.com/ja-jp/virtualization/windowscontainers/about/
Containers とは
 アプリケーションと、アプリケーションの実行に必要な環境をまとめたもの
 OS ベースの仮想化
 リソース分離
 可搬性
 広義には、App-V なども Containers
 今回お話しするのは Windows Containers
 Docker ベースの Containers 管理機構
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
Containers と VM の違い
 VM (Virtual Machine)
 ハードウェアを仮想化
 OS の実行空間を分離
 Containers
 OS(の一部)を仮想化
 アプリケーションの実行空間を分離
Containers の利点
Fast
iteration
Agile
delivery
Immutability Cost
savings
Elastic
bursting
Efficient
deployment
For ITFor developers
Windows Server の Container
 Windows Server 2016 で初搭載
 Containers の機能を有効化することで利用可能
 一部機能の利用には Hyper-V が必要
 Hyper-V が必要な場合は、サポートするハードウェアが必要
Windows Containers の基本要素
 Container Host
 Windows Containers の機能が有効化された、物理マシン又は VM
 Container Host 上で 1 つ以上の Container を実行する
 Container Image
 ソフトウェア(の一部)を単体で実行可能な形でパッケージングしたもの
 一般的には、軽量
 実行に必要となるコード、ランタイム、ライブラリ、設定、ツール等を含む
 Container OS Image
 OS 環境を提供する Container Image
 全ての Container Image は、Container OS Image を 1st partition として構築される
 Microsoft により提供され、変更不可
 Container Repository
 Container Image を管理するリポジトリ
 Docker Hub や Azure Container Registry 等
2 種類の Container OS Image
 microsoft/windowsservercore
 Windows Server Core ベースのイメージ
 イメージサイズは大きい
 Nano Server をサポートしないアプリケーションや Windows 機能を利用したい場合に使用
 microsoft/nanoserver
 Nano Server ベースのイメージ
 イメージサイズは比較的小さい
 IIS + .NET Core のモダン Web アプリケーションなど、新しいアプリケーション・Containers
環境を意識して設計されたアプリケーションで使用
Container OS Images
2種類の Containers
Windows Server containers: shared kernel Hyper-V isolation: isolated kernel
Hardware
Container Container Container
Hyper-V
Container
Kernel
Container
Kernel
Container
Kernel
2種類の Containers
 Windows Server containers
 通常の(一般的な)Containers
 Container は、ホスト OS の kernel を使用
 Hyper-V containers と比べて軽量(オーバーヘッドが少ない)
 所謂 Linux の Containers と同じ
 Hyper-V containers
 Hyper-V の機能を利用してリソース隔離した Containers
 Container は、独自の OS kernel を使用
 Windows Server containers と比べて、分離レベルが高い(オーバーヘッドは多い)
どちらを使うか?
 今のところは Hyper-V containers を推奨
 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.
Demo
PS> Get-WindowsFeature Hyper-V,Containers | Install-WindowsFeature -
IncludeManagementTools
PS> Restart-Computer
PS> Install-Module -Name DockerProvider -Repository PSGallery -Force
PS> Install-Package -Name docker -ProviderName DockerProvider -
RequiredVersion 18.03 -Force
# Create %programdata%¥docker¥config¥daemon.json
PS> Restart-Service docker
PS> Invoke-WebRequest -Uri
'https://github.com/linuxkit/lcow/releases/download/4.14.29-
0aea33bc/release.zip' -UseBasicParsing -OutFile .¥Downloads¥release.zip
PS> Expand-Archive .¥Downloads¥release.zip -DestinationPath
"$Env:ProgramFiles¥Linux Containers¥."
Prepare Container Hosts
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
確認ポイント
 docker version
 Client version / Server (docker engine) version
 Experimental
 docker info
 Default Isolation
 Kernel Version
 Experimental
Windows 環境向け Docker client
 (現時点で)Windows 環境向けに特異な docker client option
 --isolation
 分離モードの指定
 --isolation hyperv // クライアント OS のデフォルト
 --isolation process // サーバー OS のデフォルト
 --platform
 (Windows Host 上で)どの OS kernel を使用するかの指定
 --platform=linux // LCOW を使用
 --platform=windows // Windows を使用
Linux containers on Windows hosts
 Windows Host で Linux ベースの Container Image を実行可能
 Windows Server 2016 では利用不可
 Windows Server 1709 以降(ホスト)
 Docker Engine 17.11 以降
 LinuxKit / LCOW (最新の Release を推奨)
Windows Containers の今後
 Container OS Image としての進化
 イメージサイズをより小さく
 Container Host としての進化
 オーケストレーションに注力
 Docker engine / Kubernetes との連携
まとめ
 Windows Containers
 OS virtualization
 Hyper-V isolation
 Containers の使い始め方
 PowerShell 数行で構成可能
 Containers 使ってみてください!
やること
 Windows Server で Container を使うために必要なこと
 Get-WindowsFeature Hyper-V,Containers | Install-WindowsFeature -
IncludeManagementTools
 Restart-Computer
 Install-Module -Name DockerProvider -Repository PSGallery -Force
 Install-Package -Name docker -ProviderName DockerProvider -RequiredVersion
18.03 -Force
やること(オプション)
 Windows Server で Linux Container Image を使うために必要なこと
 Docker Engine の Experimental Support を有効化
 %programdata%¥docker¥config¥daemon.json
 Restart-Service docker
 Invoke-WebRequest -Uri
'https://github.com/linuxkit/lcow/releases/download/4.14.29-
0aea33bc/release.zip' -UseBasicParsing -OutFile .¥release.zip
 Expand-Archive .¥release.zip -DestinationPath "$Env:ProgramFiles¥Linux
Containers¥."
参考資料
 Containers 101 with 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/

More Related Content

What's hot

M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]日本マイクロソフト株式会社
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門Yoichi Kawasaki
 
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニアakira6592
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編Masahito Zembutsu
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)日本マイクロソフト株式会社
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルMasahito Zembutsu
 
インフラ廻戦 品川事変 前夜編
インフラ廻戦 品川事変 前夜編インフラ廻戦 品川事変 前夜編
インフラ廻戦 品川事変 前夜編Toru Makabe
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)NTT DATA Technology & Innovation
 
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)Koichiro Matsuoka
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発日本マイクロソフト株式会社
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装infinite_loop
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Hiro H.
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動Takashi Takizawa
 
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送Google Cloud Platform - Japan
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Takeshi Fukuhara
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~Recruit Lifestyle Co., Ltd.
 

What's hot (20)

M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
 
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
⼤企業で実現するイマドキの内製開発
⼤企業で実現するイマドキの内製開発⼤企業で実現するイマドキの内製開発
⼤企業で実現するイマドキの内製開発
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
 
インフラ廻戦 品川事変 前夜編
インフラ廻戦 品川事変 前夜編インフラ廻戦 品川事変 前夜編
インフラ廻戦 品川事変 前夜編
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
 

Similar to Windows Server 2019 で Container を使ってみる

Getting started with Windows Containers
Getting started with Windows ContainersGetting started with Windows Containers
Getting started with Windows ContainersKazuki Takai
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxKazushi Kamegawa
 
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法Microsoft Corporation
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたTakashi Kanai
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~decode2016
 
PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferencePHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferenceMicrosoft
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Takashi Kanai
 
Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019Kazuki Takai
 
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~de:code 2017
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたTech Summit 2016
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたTech Summit 2016
 
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerMicrosoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerTsukasa Kato
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-Saki Homma
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門Yuto Takei
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft AzureYoshio Terada
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるdavid9142
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~Saki Homma
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線Akira Inoue
 

Similar to Windows Server 2019 で Container を使ってみる (20)

Getting started with Windows Containers
Getting started with Windows ContainersGetting started with Windows Containers
Getting started with Windows Containers
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
 
PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferencePHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source Conference
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
 
20060419
2006041920060419
20060419
 
Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019
 
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなた
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなた
 
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerMicrosoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondocker
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
20050903
2005090320050903
20050903
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft Azure
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
 

More from Kazuki Takai

Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用Kazuki Takai
 
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 学習環境の構築Kazuki Takai
 
Azure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox EditionAzure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox EditionKazuki Takai
 
ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報Kazuki Takai
 
Arc 対応サーバーへの SSH アクセス
Arc 対応サーバーへの SSH アクセスArc 対応サーバーへの SSH アクセス
Arc 対応サーバーへの SSH アクセスKazuki Takai
 
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...Kazuki Takai
 
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 & ScopeKazuki Takai
 
最近の PowerShell について
最近の PowerShell について最近の PowerShell について
最近の PowerShell についてKazuki Takai
 
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 OverviewKazuki Takai
 
Past and Future of PowerShell
Past and Future of PowerShellPast and Future of PowerShell
Past and Future of PowerShellKazuki Takai
 
Introducing Windows Terminal
Introducing Windows TerminalIntroducing Windows Terminal
Introducing Windows TerminalKazuki Takai
 
Recap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringRecap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringKazuki Takai
 
使ってみよう PowerShell
使ってみよう PowerShell使ってみよう PowerShell
使ってみよう PowerShellKazuki Takai
 
5分で分かる Windows Server 2019 HCI 超概要
5分で分かる Windows Server 2019 HCI 超概要5分で分かる Windows Server 2019 HCI 超概要
5分で分かる Windows Server 2019 HCI 超概要Kazuki Takai
 
Recap: PowerShell Core
Recap: PowerShell CoreRecap: PowerShell Core
Recap: PowerShell CoreKazuki Takai
 
Windows とコンテナの話
Windows とコンテナの話Windows とコンテナの話
Windows とコンテナの話Kazuki Takai
 
Azure Stack の使い道 - 2017年11月版 -
Azure Stack の使い道 - 2017年11月版 -Azure Stack の使い道 - 2017年11月版 -
Azure Stack の使い道 - 2017年11月版 -Kazuki Takai
 
最近の PowerShell のお話
最近の PowerShell のお話最近の PowerShell のお話
最近の PowerShell のお話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
 
Windows とコンテナの話
Windows とコンテナの話Windows とコンテナの話
Windows とコンテナの話
 
DSC 再入門
DSC 再入門DSC 再入門
DSC 再入門
 
Azure Stack の使い道 - 2017年11月版 -
Azure Stack の使い道 - 2017年11月版 -Azure Stack の使い道 - 2017年11月版 -
Azure Stack の使い道 - 2017年11月版 -
 
最近の PowerShell のお話
最近の PowerShell のお話最近の PowerShell のお話
最近の PowerShell のお話
 

Recently uploaded

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (10)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

Windows Server 2019 で Container を使ってみる

  • 1. 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 を使ってみることができる
  • 4. Agenda  Containers とは  Windows Server の Containers  Containers を使う  なるべくデモ中心で…
  • 5. はじめる前に  本資料の内容は個人的な検証結果に基づきます  所属する会社や組織、マイクロソフト社の公式な見解を記載するものではありません  表記や内容に誤りがあるなど、お気づきの点があれば、ご連絡いただけると幸いです  本セッションでは、以下の環境をベースにお話しします  Windows Server 2019 LTSC Build 17763.55 + Docker 18.03.1-ee-3
  • 6. Containers とは  コンテナーとは  コンテナーとは、分離された独自のボックスにアプリケーションをラップする方法で す。 コンテナー内のアプリケーションは、ボックスの外に存在するアプリケーション やプロセスを認識しません。 コンテナー内には、アプリケーションの正常な実行に必 要なすべての要素も存在します。 ボックスを移動しても、アプリケーションの実行に 必要な要素がすべて揃っているため、アプリケーションが常に正常に実行されます。  https://docs.microsoft.com/ja-jp/virtualization/windowscontainers/about/
  • 7. Containers とは  アプリケーションと、アプリケーションの実行に必要な環境をまとめたもの  OS ベースの仮想化  リソース分離  可搬性  広義には、App-V なども Containers  今回お話しするのは Windows Containers  Docker ベースの Containers 管理機構
  • 8. 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(の一部)を仮想化  アプリケーションの実行空間を分離
  • 11. Windows Server の Container  Windows Server 2016 で初搭載  Containers の機能を有効化することで利用可能  一部機能の利用には Hyper-V が必要  Hyper-V が必要な場合は、サポートするハードウェアが必要
  • 12. Windows Containers の基本要素  Container Host  Windows Containers の機能が有効化された、物理マシン又は VM  Container Host 上で 1 つ以上の Container を実行する  Container Image  ソフトウェア(の一部)を単体で実行可能な形でパッケージングしたもの  一般的には、軽量  実行に必要となるコード、ランタイム、ライブラリ、設定、ツール等を含む  Container OS Image  OS 環境を提供する Container Image  全ての Container Image は、Container OS Image を 1st partition として構築される  Microsoft により提供され、変更不可  Container Repository  Container Image を管理するリポジトリ  Docker Hub や Azure Container Registry 等
  • 13. 2 種類の Container OS Image  microsoft/windowsservercore  Windows Server Core ベースのイメージ  イメージサイズは大きい  Nano Server をサポートしないアプリケーションや Windows 機能を利用したい場合に使用  microsoft/nanoserver  Nano Server ベースのイメージ  イメージサイズは比較的小さい  IIS + .NET Core のモダン Web アプリケーションなど、新しいアプリケーション・Containers 環境を意識して設計されたアプリケーションで使用
  • 15. 2種類の Containers Windows Server containers: shared kernel Hyper-V isolation: isolated kernel Hardware Container Container Container Hyper-V Container Kernel Container Kernel Container Kernel
  • 16. 2種類の Containers  Windows Server containers  通常の(一般的な)Containers  Container は、ホスト OS の kernel を使用  Hyper-V containers と比べて軽量(オーバーヘッドが少ない)  所謂 Linux の Containers と同じ  Hyper-V containers  Hyper-V の機能を利用してリソース隔離した Containers  Container は、独自の OS kernel を使用  Windows Server containers と比べて、分離レベルが高い(オーバーヘッドは多い)
  • 17. どちらを使うか?  今のところは Hyper-V containers を推奨  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.
  • 18. Demo PS> Get-WindowsFeature Hyper-V,Containers | Install-WindowsFeature - IncludeManagementTools PS> Restart-Computer PS> Install-Module -Name DockerProvider -Repository PSGallery -Force PS> Install-Package -Name docker -ProviderName DockerProvider - RequiredVersion 18.03 -Force # Create %programdata%¥docker¥config¥daemon.json PS> Restart-Service docker PS> Invoke-WebRequest -Uri 'https://github.com/linuxkit/lcow/releases/download/4.14.29- 0aea33bc/release.zip' -UseBasicParsing -OutFile .¥Downloads¥release.zip PS> Expand-Archive .¥Downloads¥release.zip -DestinationPath "$Env:ProgramFiles¥Linux Containers¥." Prepare Container Hosts
  • 19. 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 環境向け Docker client  (現時点で)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 on Windows hosts  Windows Host で Linux ベースの Container Image を実行可能  Windows Server 2016 では利用不可  Windows Server 1709 以降(ホスト)  Docker Engine 17.11 以降  LinuxKit / LCOW (最新の Release を推奨)
  • 23. Windows Containers の今後  Container OS Image としての進化  イメージサイズをより小さく  Container Host としての進化  オーケストレーションに注力  Docker engine / Kubernetes との連携
  • 24. まとめ  Windows Containers  OS virtualization  Hyper-V isolation  Containers の使い始め方  PowerShell 数行で構成可能  Containers 使ってみてください!
  • 25. やること  Windows Server で Container を使うために必要なこと  Get-WindowsFeature Hyper-V,Containers | Install-WindowsFeature - IncludeManagementTools  Restart-Computer  Install-Module -Name DockerProvider -Repository PSGallery -Force  Install-Package -Name docker -ProviderName DockerProvider -RequiredVersion 18.03 -Force
  • 26. やること(オプション)  Windows Server で Linux Container Image を使うために必要なこと  Docker Engine の Experimental Support を有効化  %programdata%¥docker¥config¥daemon.json  Restart-Service docker  Invoke-WebRequest -Uri 'https://github.com/linuxkit/lcow/releases/download/4.14.29- 0aea33bc/release.zip' -UseBasicParsing -OutFile .¥release.zip  Expand-Archive .¥release.zip -DestinationPath "$Env:ProgramFiles¥Linux Containers¥."
  • 27. 参考資料  Containers 101 with 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/