windows10 HomeにDocker Desktop for Windowsをインストールするための条件
注意 ※バージョンや環境によっては正常に動作しない可能性があります。
Windows10 HomeでDockerを使うには条件があります。
以下、ちょっとめんどくさいですが、前提条件です。
前提条件
- Windows10 Home(19018+)のバージョン(バージョン2004ってやつ)
- Windowsの機能「Linux用Windowsサブシステム(Windows subsystem for linux)」を有効にしている
- Windowsの機能「仮想マシンプラットフォーム」を有効にしている
- wsl(Windows subsystem for linux)がバージョン2になっている
前提条件の準備手順
- STEP1Windows 10 バージョン 2004に更新Windows10のバージョンを2004に上げます。不具合があるので自己責任。
- STEP2Linux用Windowsサブシステム(Windows subsystem for linux)の有効化Windowsの機能から有効化します。
- STEP3仮想マシンプラットフォームの有効化Windowsの機能から有効化します。
- STEP4wsl2にするwsl2を使うためには、カーネルコンポーネントの更新が必要です。
Windows 10 バージョン 2004にする
Windows10 Homeのバージョンが指定のものになっている必要があります。
Windows 10 バージョン 2004というやつです。「Windows 10 May 2020 Update」と呼ばれる、大型のアップデートになります。
Windowsは現在後継OSを開発するという形ではなく、Windows10を大型アップデートすることによって、新しい状態を保つ、という方向で動いています。1年に2回、3月と9月に予定しているとのことでして、その一環の更新がこの2004なんです。
実はこの大型アップデートに結構不具合がありまして、映像関連などで古いデバイスドライバを使っていると、ブルースクリーンになってしまう、なとが見つかっています。
そのため、Windows updateを自動にしていても、マイクロソフトのほうで更新がされない設定になっていて、結構な人がまだアップデートされていない状態になります。
なので、2020年の9月時点では、そういったリスクがあることをわかった上で、アップデートする必要があります。
この一番新しいバージョンにすると、windows10 Homeでもwsl2が使えるようになり、これが使えるとDockerをwindows10 home上でも使えるようになります。
繰り返しになりますが、結構不具合が大く、windows updateには表示されていない人も多いです。
このアップデートは何かあった時に環境を戻すことができる人だけが自己責任で対応する、という形になります。
手動でアップデートする場合はのリンクは以下です。
インストールした後、すでに更新プログラムがあるのですが、一緒にインストールされてなかったので、Windows updateで更新確認をしておくとよいかもです。
結構変わるので、アップデートいやいや人はちょっと嫌だなと思うかもですね。
IMEの予測変換のレイアウトなど、IME系が結構変わってます。
また、不具合等は以下のページに乗っています。
Windowsの機能を有効にする
次は機能面です。
Windowsの機能にあるもので、Linux用Windowsサブシステムと仮想マシンプラットフォームを有効にしておく必要があります。
コントロールパネルに「Windowsの機能」というのがあります。コントロールパネルから行くのは面倒なので、タスクバーの検索窓にWindowsの機能とすれば「Windowsの機能の有効化または無効化」というのが出てくるので、それが楽です。
wslについては以下にあります。
インストールの手順などもここにあります。
Linux用Windowsサブシステムは再起動することで設定が反映されます。
「Linux用Windowsサブシステム(Windows subsystem for linux)」
「Windowsの機能の有効化または無効化」の中に「Linux用Windowsサブシステム」というのがあります。
環境によって項目名が違うらしく、自分の環境では「Linux用Windowsサブシステム」でした。Windows subsystem for linuxとかは検索すると良く見ます。どうも途中で表記が変わっているようです。
これは、WSLという、Windows10でLinuxを使う用の機能です。Dockerを使うには、WSL2が必要なので、ここで有効化しておきます。
この後、wsl2用にカーネルコンポーネントを更新する必要があるのですが、同じ画面でできる次の設定に行きます。
仮想マシンプラットフォーム
WSL2を使うには、Windows10 PROに入っていたhyperVを使う必要があったのですが、これがWindows10 2004では仮想マシンプラットフォームという部分を有効化すれば使えるようになっているみたいですね。
hyperVはHomeにはないようですし、自分も使っていないのですが、Dockerはインストール出来たので。
wsl2に更新する
次に、wsl2を既定のバージョンにします。
そのためにはまずLinuxカーネル コンポーネントを更新する必要があります。
その後、Powershellから「wsl –set-default-version 2」とコマンドを打つと、wsl2になります。
カーネル コンポーネントの更新
以下のページに Linux カーネル更新プログラム パッケージがあるので、それをダウンロードして実行します。
この更新をしないでwslのデフォルトバージョンを更新しようとしても、「WSL2を実行するには、カーネル コンポーネントの更新が必要です。詳細については…」的なメッセージがでて上手くいきません。
まず、カーネルコンポーネントを更新する必要があります。
PowerShellでWSL2をデフォルトバージョンにする。
次に、PowerShellでwslのバージョンを2にします。
これもタスクバーの検索窓でPowershellと打つのが楽です。
PowerShellは簡単に言ってしまうと、すごく機能を拡張したコマンドプロンプトみたいなものです。
PowerShellで「wsl –set-default-version 2」と実行すると、既定のバージョンが2になります。
この辺りは、今後のアップデートでどんどん変わっていくそうです。1つのコマンドで仮想環境の有効化からインストールまで、さらにWSL2がデフォルトになる、というのが公式からアナウンスされています。
捕捉のLinuxインストール
このwslは簡単に言ってしまうとWindowsでLinuxを使うための機能なわけですね。なので、大体Linuxをインストールするのがセットになっています。
MicosoftのドキュメントでもUbuntuのインストールまでセットになっています。
自分も適当にUbuntuを入れてあります。Linux ディストリビューションはなんでも良さそうですね。自分の好きなものを入れればいいのかなと思います。
先ほどの項目の画像で「wsl -l -v」とコマンドを打っていますが、-lがディストリビューションの一覧で、-vがそれのwslのバージョンです。
コマンドの結果として「Ubuntu-20.04 Running 2」と出ていますがこれで、UbuntuがWSL2で動いているよ、ということがわかります。
やっとDockerのインストール
ここまでやって、やっと「Docker Desktop for Windows」がインストールできます。
以下からダウンロードできます。
Windows10のバージョンを上げないとインストールできない
冒頭の前提条件にも書きましたが、Windows10のバージョンが古いと使えません。
Homeの場合は19018+とでます。2004というmayアップデートのバージョンが必要になります。
更新しないと、上の加増のように出てインストールできないので、この辺りはやってみるとわかると思います。
「Windows 10 May 2020 Update」は不具合の多さから、Windows updateを自動にしていても、有効になっていない人が多いです。Windows updateを見て、そこに表示されている更新プログラムを適用しても、Dockerインストール時に上のメッセージが出ている人は、「Windows 10 May 2020 Update」が自動で表示されないPCの可能性があります。その場合は手動でWindowsをアップデートする必要があります。この措置は、不具合が起きる可能性のあるデバイスドライバを使っているかどうかを自動で判別しているみたいですね。
インストールする
Docker Desktop Installer.exeを起動します。
そうすると、ダウンローダーが起動してインストールが始まります。
「enable wsl2 windows features」WSL2を有効にするにチェックを入れてインストールします。
Installation succeededと出れば完了です。
Docker Desktop がWindows Homeで起動できました。
ここまで来るのにとても大変でした。
まとめ
Windows10 Homeでは普通の方法ではDockerは使えなかったようですが、Windows10のアップデートで使えるようになるという発表を見てまして。
Linux自体もWindowsでかなり使いやすくなるとのことで、楽しみにしていたのですが、mayアップデートの不具合で見送っていたのです。
ただ、中々出てこないのでもういいかなとWindowsをアップデートしてみました。
サーバーに上げる前に、Linux環境で自分が作ったアプリが動くのか試す方法で一番良さそうなのがDockerだったので、Windowsで使いたいな~というのが動機です。
とりあえずインストール出来たので良かったです。
マイクロソフトの発表によると、WSL2はまだまだ色々改善されていくようなので楽しみです。
Windows上で仮想のLinuxをがっつり動かせるとなると、サーバー環境に近いLinux環境を簡単に作れてかつ使えることになるので、Windowsでの開発がすごくやりやすくなりそうな、そんな気がします。