[今月の技術トピック] こんなコマンドですぐにサーバーを増やせる! ~Windows Server コンテナと PowerShell~
Tässä artikkelissa
こんなコマンドですぐにサーバーを増やせる! ~Windows Server コンテナと PowerShell~
Windows Server 2016 にコンテナ技術が含まれることは、前回の TechNet Flash でもお伝えした通りですが、今回は簡単なコマンドと共にコンテナのスピード感を紹介しておきましょう。
さて、以下のコマンドを見てください。たった 16 行のコマンドですが、このコマンドの中では
元のイメージから、Web サーバー Nginx 入りの新しいコンテナ イメージを作る
新しいイメージをベースに Web サーバー用のコンテナを作って立ち上げる
という 2 つの大きな作業が含まれています。言わば、仮想マシンに nginx をインストールしてテンプレート化し、それをコピーしてもう 1 台の仮想マシンを作るのと同じような作業をしているのです。
$container01 = New-Container -Name webbase -ContainerImageName WindowsServerCore -SwitchName "virtual Switch"
Start-Container $container01
Enter-PSSession -ContainerId $container01.ContainerId -RunAsAdministrator
[コンテナに接続中] wget -uri "https://nginx.org/download/nginx-1.9.3.zip" -OutFile "c:\nginx-1.9.3.zip"
[コンテナに接続中] expand-archive -Path C:\nginx-1.9.3.zip -DestinationPath c:\ -Force
[コンテナに接続中] exit
Stop-Container $container01
$webserverimage01 = New-ContainerImage -Container $container01 -Publisher Demo -Name nginxwindows -Version 1.0
$webservercontainer01 = New-Container -Name webserver1 -ContainerImageName nginxwindows –SwitchName "virtual Switch"
Start-Container $webservercontainer01
Enter-PSSession -ContainerId $webservercontainer01.ContainerId -RunAsAdministrator
[コンテナに接続中]: PS C:\Windows\system32> cd C:\nginx-1.9.3\
[コンテナに接続中]: PS C:\nginx-1.9.3> start nginx
[コンテナに接続中]:PS C:\nginx-1.9.3> exit
Add-NetNatStaticMapping -NatName "ContainerNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 172.16.0.2 -InternalPort 80 -ExternalPort 80
if (!(Get-NetFirewallRule | where {$_.Name -eq "TCP80"})) {New-NetFirewallRule -Name "TCP80" -DisplayName "HTTP on TCP/80" -Protocol tcp -LocalPort 80 -Action Allow -Enabled True }
仮想マシンは作りません。OS ファイルのコピーもしません。コンテナの世界では、9 行目のコマンド 1 行を、コンテナの名前を変えて実行するだけで、新しい Web サーバーが手に入るのです。
さて、この世界観を知らずして、今後のインフラストラクチャーは語れません。是非、一度お試しください。そして、まずは Microsoft Azure 上で Windows Server Container Preview という Compute のテンプレートを使って仮想マシンを作成しておきましょう。それだけで、Windows Server のコンテナの設定や、コンテナのベース イメージ WindowsServerCore の準備が整っており、スムーズに作業に入っていくことができます。
トライファースト! Azure の無償評価版が、あなたをクラウドの世界、そしてコンテナの世界へ導いてくれることでしょう。
日本マイクロソフト株式会社
エバンジェリスト
高添 修 <Blog >