WindowsServerにDockerをインストールしてみた

公開:2020/10/26
更新:2020/10/26
3 min読了の目安(約2700字TECH技術記事

概要

次の案件にてWindows Serverを使用するため、Dockerをインストールし使用できるか確認してみた。
また、条件としてWindows Server 2019だとwslの機能も使えそうですが、今回はDocker EEを使用する。

環境

  • Windows Server 2019
  • Docker EE
  • Docker Compose

目次

  • インストール手順
    • Hyper-Vのインストール
    • Docker-Microsoft PackageManagement Provider をインストール
    • 最新バージョンの Docker をインストール
    • コンピューターを再起動
  • Docker Compose
  • Linuxのコンテナを使用する場合
    • Experimental 機能の有効化
  • 起動方法
  • 感想、詰まったところ

インストール手順

公式にやり方は書いてあります。
作業の開始:コンテナー用の Windows を準備する

以下手順

  1. Hyper-Vのインストール
  2. Docker-Microsoft PackageManagement Provider をインストール
  3. 最新バージョンの Docker をインストール
  4. コンピューターを再起動

Hyper-Vのインストール

PowerShell(管理者) コマンドから Hyper-V をインストールします。(おそらく必要)

> PowerShell Install-WindowsFeature hyper-v

Docker-Microsoft PackageManagement Provider をインストール

引き続きDocker-Microsoft PackageManagement Provider をインストール

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

※NuGet プロバイダーのインストールを求めるメッセージが表示されたら、「Y」と入力して同様にインストールします。

最新バージョンの Docker をインストール

引き続き最新バージョンの Docker をインストール

> Install-Package -Name docker -ProviderName DockerMsftProvider

PowerShell でパッケージ ソース "DockerDefault" を信頼するかどうかの確認を求められたら、「A」と入力してインストールを続行します。

コンピューターを再起動

インストール後再起動

> Restart-Computer -Force

Docker Compose

Docker Composeを使用する場合は以下の手順でインストールする。
Docker for Windowsでなら標準機能でありますがEEの場合はインストールする必要があります。
そもそも、WindowsServerでDocker Composeって使用するんですかね?

  1. PowerShellを管理者権限で起動
  2. 以下のコマンドでインストール
  3. 再起動
> Invoke-WebRequest "https://github.com/docker/compose/releases/download/<version>/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\docker\docker-compose.exe

<version>の箇所にはGitのリポジトリにあるバージョンを選択して入れてください。 Gitのリポジトリ

Linuxのコンテナを使用する場合

Linuxのコンテナを使用する場合は、LinuxKit のインストールします。

以下手順

  1. LinuxKitのページにアクセス
    1. LinuxKitページ
  2. release.zipをダウンロード
  3. 2を解凍し以下のディレクトリに設置する。
  4. Experimental 機能の有効化
  5. 再起動

ディレクトリ

> C:\Program Files\Linux Containers

Experimental 機能の有効化

以下のファイルを新規作成します。

> C:\ProgramData\docker\config\daemon.json

daemon.jsonの内容

{
  "experimental": true
}

起動方法

  1. PowerShellを管理者権限で起動
  2. 以下のコマンドで起動
> Start-Service Docker

感想、詰まったところ

案外すんなりインストールすることができた。
一様上記の内容でLinuxコンテナとのイメージとdocker composeは無事に使用できています。
起動確認

また、注意点としては、Volumeですかね。
まさか、Windowsだとファイルの指定はできないようです。エラーにもできないって出てきます。
フォルダのみですね。

以上です。間違い等がございましたらご連絡ください。