Published on

Windows Server で Docker の環境を整える

Authors

今回は、Microsoft Azure 上で展開する仮想環境にて、Docker が動く環境を整備していきます。Windows 10 Pro では Docker for Desktop を利用する形が一番シンプルですが、今回は Windows Server 2019 ベースでの環境を整えていきます。

前提条件

今回、作業をしていく上での前提条件は以下のようにします。Azure での環境の整備なので、以下のようなマシンを準備しました。

  • Windows Server 2019
  • マシンサイズ Standard D8s v3
    • 8 vcpu
    • メモリ 32GB
server

マシンの作成が完了したあと、リモートデスクトップでアクセスをしてください。Server Manager を起動して、メニューの Manage - Add Roles and Features を選択して、以下の機能を追加します。

まず最初に、Server Roles の画面で Hyper-V のチェックをします。

server

続いて Features の画面で、Containers および Windows Subsystem for Linux を選択します。

server
server

Hyper-V に関してはデフォルトの設定でインストールを進めていきます。最後に Install のボタンを押して、インストールを完了させてください。インストールが完了すると、再起動して、Windows Server 2019 の環境に関しては準備が調います。

Docker の環境を整える

Windows Server で Docker を動かすための手順は、マイクロソフトの以下のサイトが参考になります。

PowerShell を管理者の権限で開き、PowerShell のギャラリーから、Docker-Microsoft PackageManagement Provider をインストールします。

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
docker

PackageManagement PowerShell モジュールを使用して、最新バージョンの Docker をインストールします。

Install-Package -Name docker -ProviderName DockerMsftProvider
docker

Sitecore のデモでは Linux のイメージも利用するため、LinuxKit をインストールします。まず、以下のサイトから release.zip をダウンロードします。

ダウンロードしたファイルは、 C:\Program Files\Linux Containers のフォルダを作成して展開します。コピーしたファイルはダウンロード後ブロックされているため、ファイルのプロパティを開いて、ダイアログの一番下のチェックボックスをチェックして適用して、ブロックを解除してください。

docker
linuxkit

Windows コンテナと Linux コンテナを同時に動かすために、Experimental の設定を変更します。この設定は、 C:\ProgramData\docker\config\daemon.json のファイルを新規作成して、以下のコードを書き込んでください。ProgramData のフォルダは隠しフォルダになっていますので、直接 Explorer にパスを入れるなどで表示してください。

{
    "experimental": true
}
experimental を有効にする

Docker の必要なモジュールのインストールが完了した段階で、一度再起動してください。

追加ソフトウェアのインストール

今回利用するソフトウェアのインストールに関して、chocolatey というツールを利用して進めていきます。

インストールの方法はシンプルで、PowerShell コンソールを管理者権限で開き、以下のコマンドを実行してください。

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Chocolatey インストール

コマンドラインで choco を実行するとバージョンが表示されれば、インストールは成功しています。

Choco のバージョンを確認

Github のリポジトリを利用するため、最初に git for Windows をインストールします。

choco install git
git for Windows

Dokcer を利用するためのコマンド、 docker-compose を有効にするために、以下のコマンドを実行します。

choco install docker-compose
docker-compose

続いてコードの変更などで便利なので、Visual Studio Code をインストールします。

choco install vscode
Visual Studio Code

ブラウザを動かすことができるように、Google Chrome をインストールします。

choco install googlechrome
Google Chrome

Github Desktop をインストールしておくと便利なので、これは任意でご利用ください(今回の手順として特に必須ではありません)。

choco install github-desktop
Github Desktop

まとめ

今回は Windows Server 2019 の上で Docker が動く環境まで整備をしました。これで Sitecore が提供するデモなど手軽に検証することができるようになりました。