LoginSignup
2
3

More than 3 years have passed since last update.

Docker for Windows 10 Home ~導入プロセスと要チェック点~

Last updated at Posted at 2021-02-19

はじめに

Windows 10 ProではHyper-Vなどを利用することでDockerを使用することができるものの、Windows 10 HomeではHyper-Vの機能は搭載されておらず、Dockerを動作させるにはVirtual Boxなどを使う方法がメインであり、セッティングが複雑であった。しかし、Windows Version 20H1 (2004)から追加された機能WSL2を使うことで、Windows 10 Homeでも容易にDocker環境を作成できるようになった。以下にその方法を示す。

ちなみに使用したDocker DesktopとWindows 10 Homeのバージョンは以下の通りである。

  • Docker Desktop:3.1.0
  • Windows 10 Home:2004

System Requirements

Docker Docsの情報によれば、Docker Desktopの動作必要環境は以下の通りである。

System Requirements
Windows 10 Home machines must meet the following requirements to install Docker Desktop:

ただ、WSL2やLinuxカーネルのインストールについてはDocker Desktopのインストールとともに行えるので、この時点ではまず、

  • Windows 10のバージョン
  • CPUのVirtualizationの有効化
  • (ほとんど該当するであろうが)Windowsが64 bit版か、メモリが4GB以上か

の確認をしなければならない。

Windows 10 のバージョン

Windows 10 のバージョンはスタートメニュー(右クリック) > システムから確認可能。

上の画像のように基本的に更新をしていれば必要バージョンである1903より上になっているはずである。

CPU Virtualization (要チェック)

スタートメニュー(右クリック) > タスクマネージャー > パフォーマンスタブから確認可能。

問題はこの中の項目の仮想化有効でないといけないのにもかかわらず、上の画像のように無効となっているケースがあることである。この場合、有効化作業が必要である。

CPU Virtualization checking

まずそもそも仮想化に適応しているCPUなのかを確認しよう。

手順はインストーラーに沿って行えば問題ない。詳細を知りたい場合は、「バーチャライゼーション(VT)を有効にする方法」の「PCがバーチャライゼーションに対応しているかの確認方法」を参照。

参考のために載せるが、私のPCはAMD製のCPUのため、以下の表示が出た。

表示の通りバーチャライゼーション無効になっている状態であるが、BIOSで有効化すれば仮想化は可能であるという意味に捉えられる。

仮想化が可能なCPUであることが判明したのならば、BIOSでVirtualizationの設定を有効化すれば良い。BIOS設定といえば特定のキーを押しながらPCを起動させ設定画面に移動する方法もあるが、Windows 10では設定 > 更新とセキュリティ > 回復から、PCの起動をカスタマイズするという方法にて再起動後の設定ができ、容易にBIOSに入ることができる。これについても詳細は、「バーチャライゼーション(VT)を有効にする方法」の「無効状態のバーチャライゼーションを有効にする方法」を参照。

BIOSの設定まで来た場合PC端末によってそれぞれやり方異なるため、そこからは自身にて調べてもらいたい。基本的には、

  • Intel製CPUの場合はCPU Configuration > Intel Virtualization Technologyの設定をDisableからEnableへ変更
  • AMD製CPUの場合はCPU Configuration > SVM Modeの設定をDisableからEnableへ変更

すれば良い。

BIOSにて仮想化の設定を有効化して再起動すれば、先程のスタートメニュー(右クリック) > タスクマネージャー > パフォーマンスタブのところで、下の画像のように仮想化の項目に有効の表示が出る。

Docker Desktop

ようやくDockerのSystem Requirementsはカバーできたので、ここから先はDocker Desktopをインストールする。

Docker Desktop for Windowsをダウンロードし起動。表示手順に沿ってそのままインストール作業を進めれば問題ない。

再起動後、WSL2の設定をまだ行っていないため、WSL 2 installation is incomplete.というウィンドウが出現する。

RestartもCancelも押さず、そこにあるURL (https://aka.ms/wsl2kernel) へ移動し、「手順 4 - Linux カーネル更新プログラム パッケージをダウンロードする」に従う。

x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」をダウンロードしてインストール。

インストール後、Windows PowerShellを開き、WSL2を既定のバージョンとして設定するために以下のコマンドを入力。

WindowsPowerShell
wsl --set-default-version 2

設定後、Microsoft Storeから必要な Linuxディストリビューションをダウンロード&インストールする。今回はUbuntu 20.04 LTS を選択した。

インストール完了後通知文が出るので、そこからUbuntuを起動 (もしくはMictosoft Storeやスタートメニューから起動) 。セットアップを行う。

この際、

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0xc03a001a
Error: 0xc03a001a ???????????????????????????????????????????????????

といったエラーが出た場合はディストリビューションのディレクトリの圧縮を解除すれば良いらしい。私はエラーが出たので、「WSL2のインストール時にWslRegisterDistribution failed with error: 0xc03a001aで失敗するときの対処法」を参考に圧縮を解いたら、問題なくインストール画面に移行できたため、そのままusernamepasswordを決めてセットアップ完了。

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
New password:
Retype new password:
passwd: password updated successfully
Installation successful!

Linux ディストリビューションのセットアップまで終わったら、先程のDockerのウィンドウ、WSL 2 installation is incomplete.からRestartボタンを押す。そうするとDocker for Desktopが再起動され、最終的にDocker is runningの表示まで出れば完了。dockerコマンドも動き、getting-startedもできるはず。


おわりに

このようにWindows 10 Homeにても容易な方法にてDockerを導入することが可能となった。1つ気をつけるポイントとしては、CPUの仮想化が有効になっているか否か、という部分であるように感じられる。Windowsバージョンが必要バージョンを満たしているのにも関わらず上手くDockerの導入ができない場合には、一度CPU Virtualizationの確認を行うと良いかもしれない。

参考

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3