Windows Server で Docker の環境を整える

公開日 :

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

注意:この記事に記載している Linuxkit に関しては提供が終了しており、現在は利用することができません。

前提条件

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

  • Windows Server 2019

  • マシンサイズ Standard D8s v3

    • 8 vcpu

    • メモリ 32GB

random desc

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

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

random desc

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

random descrandom desc

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

Docker の環境を整える

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

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

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

random desc

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



Install-Package -Name docker -ProviderName DockerMsftProvider

random desc

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

注意:この LinuxKit を利用した Linux Container on Windows は既にサポートが終了しています。当時の模様ということで参考までに残しておきますが、現在は利用できません。

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

random descrandom desc

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

{
  "experimental": true
}

random desc

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'))

random desc

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

random desc

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

choco install git

random desc

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

choco install docker-compose

random desc

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

choco install vscode

random desc

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


choco install googlechrome

random desc

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

choco install github-desktop

random desc

まとめ

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