docker
Windows10
docker-for-windows

Windows 10 の ビルドが古いために Docker for Windows をインストールできなかった

背景

先日、Windows Update を行ったらログインできなくなる( 正確にパスワード入力後からディスクトップが表示されるまでの間にブルースクリーンになってしまう)という稀によくある事象に遭遇した。

泣く泣く Windows 10 Pro をクリーンインストールして、 Docker for Windows のインストールを試みたら、 Installation failed: one pre-requisite is not fullfilled になってしまう。

Docker-install-failed.PNG

原因

Docker for Windows requires Windows 10 Pro or Enterprise version 14393, or Windows server 2016 RTM to run とあるので、Windows 10のバージョンが低いことは分かるのだけれども、 [設定] > [システム] > [バージョン情報] で確認できるバージョンは 1511 なので、バージョンが低いとは思えない。

Windows-version-befor.PNG

エラーメッセージで調べていくと、このissue Docker CE for Windows does not install on Windows 10 Pro #1263 が見つかり、ビルド番号が 14393 以上にしなければならない事に気づく。

PS C:\Users\user1> Get-WmiObject Win32_OperatingSystem |findstr Build
BuildNumber     : 10586

Windows Updateできません!!

Windows10 のバージョンが低いのであれば、Windows Update を行えば解決できるはず。しかし、何度チェックしても「お使いのデバイスは最新の状態です。」となるので、更新を行えない状態。

そういえば、クリーンインストールする前は、Anniversary Update を入れていたことを思い出したので、Anniversary Update のインストール方法を調べる事にした。

Windows Updateの「詳細情報」からインストールできる様なので、「詳細情報」をクリックすると、Eddge で Windows 10 の更新履歴 が表示される。

Windows 10 April 2018 Update の入手
お使いのデバイス用の Windows 10 April 2018 Update がリリースされると、Windows Update 設定に基づいて自動的にダウンロードされます。 ダウンロードが完了すると、インストールに最適な時間を選択するように求められます。 更新プログラムがインストールされると、Windows 10 のバージョンは 1803 になります。

すぐにインストールするには、 「Windows 10 April 2018 Update を取得する」を参照して入手してください。

とあるので 「Windows 10 April 2018 Update を取得する」 をクリックすると、 Windows Update が表示される。改めて 「更新プログラムのチェック」クリックしても、「お使いのデバイスは最新の状態です。」となり状況が変わらない。

Windows10 ダウンロードサイト

マイクロソフトのコミュニティで windows 10 バージョン1607への更新ができない というスレッドに

Windows Update の一般的なトラブル対応として、以下ページの対処も一通り確認してみてください。

・Windows 10 - Windows Update に失敗する場合の対処法

また、Windows Update 経由ではなく「こちらのページ」の「今すぐアップデート」からの更新も試してみてはいかがでしょう。

という書き込みがあり、「こちらのサイト」 https://www.microsoft.com/ja-jp/software-download/windows10 にある
Windows10-download.PNG

「今すぐアップデート」をクリックすると Windows10Upgrade9252.exe がダウンロードされました。 (クリーンインストール後にバックアップから戻したダウンロードフォルダ入っていたのでクリーンインストール前も使っていた!?。 Bash on Windows を試した時かな。)

Windows10Upgrade9252.exe を実行することで「Windows10更新アシスタント」が起動するので、画面に従って更新を行う。
windows10-update-assistant.PNG

しばらく待って、再起動後の更新が行われると無事に完了のダイアログが表示される。
windows10-update-done.PNG

バージョンとビルド番号も更新されています。

バージョン 1511-> 1803
ビルド番号 10586.1762 -> 17134.81

Windows-version-after.PNG

Get-WmiObject でも確認できます。

PS C:\Users\user1> Get-WmiObject Win32_OperatingSystem |findstr Build
BuildNumber     : 17134

改めてDockerをインストール

Docker for Windows Installer.exe を再実行すると、インストールが開始されました。

Docker-install-starting.PNG