Windows×Rails6でDockerを使えるようにする ➀WSL2編

記事のレベル; ★★★☆☆

はじめに

Windows × Rails6でDocker desktop for Winsowsを使用できるようにすることを目指すにあたって、windowsLinuxを使う環境が必要です

そのLinux環境がWSL。Docker desktopは「WLS2」にしないといけないようです。

WLSとは、windows linux systemの略です。

WLSとWLS2は全く別物らしいですが、「スーパーサイヤ人」と「スーパーサイヤ人2」みたいなノリで押さえておけばいいでしょう。

DockerはそのWLS2にのみ対応しているようです。

イメージ的にはこんな感じ

本記事の続き

Windows×Rails6でDockerを使えるようにする ②Docker Desktop for Windows

環境

Windows 10 home

前提

OSがWindows 10 homeであること!

具体的な方法

手順

windowsLinuxを使うために、まずは左下の虫眼鏡マークをクリックして

windowsの機能の有効化または無効化」から、

す べ て ア プ リ ド キ ュ メ ン ト 最 も 一 致 す る 検 素 結 集 ワ エ プ そ の 他 マ Windows の 機 能 の 有 効 化 ま た は 無 効 化 コ ン ト ロ - ル バ ネ ル Web の 検 素 月 windows の 機 能 - web 信 果 を 見 る 刄 windows0)-Æ Windows の 機 能 の 有 効 化 ま た は 無 効 化 コ ン ト ロ ー ル バ ネ ル

Linux Windows サブシステムにチェックを入れて有効化

は Windows の 機 能 Wind 。 ws の 機 能 の 有 効 化 ま た は 無 効 化 機 能 を 有 効 に す る に は 、 チ ェ ッ ク ポ ッ ク ス を オ ン に し て く だ さ い 。 機 能 を 無 効 に す る に は 、 チ ェ ッ ク ポ ッ ク ス を オ フ に し て く だ さ い 。 塗 り つ ぶ さ れ た チ ェ ッ ク ポ ッ ク ス は 、 機 能 の - 部 が 有 効 に な っ て い る こ と を 表 し ま す 。 ロ X 田 口 一 . NET Framework 5 (.NET 2.0 お よ び 3 0 を 含 む 一 .NET Framework 4 日 Advanced 5 に 1 「 ” rn Explorer 1 1 曰 Microsoft PDF 印 刷 M に ro 、 0 XPS ド キ ュ メ ン ト つ イ タ - 田 口 一 Mi “ 050 升 メ ッ セ - ジ キ (MSMQ) サ ー バ - Re010 花 D entl Compression Am サ ポ - ト SM 日 1 ロ 'C 作 5 フ ァ イ ル 共 有 の プ ポ ー ト ロ T' 引 能 t ク ラ イ ア ン ト ロ ー 幵 ク つ イ ア ン ト ロ Windowsldentty Foundation 3 当 [ 〕 : 亘 コ い ツ ゴ

windowsのバージョンアップ windows version 2004以上かつビルド番号190411以上じゃないと使えないらしい

(↑ビルド番号のこと知らずに先に進めようとしてここで1時間くらい沼った)

・ビルド番号を調べるには

コマンドプロンプトを開いて

ver

と打てば自分のwindowsのビルド番号が確認できる。

/icroso t (c) 2019 Microsoft Corporation. All rights reserved. icrosoft Windows [Version 10.0.18362. g5gJ

ここでは18362がビルド番号

要件を満たしていなければ

https://www.microsoft.com/ja-jp/software-download/windows10

ここから「今すぐアップデートをポチる」

25GBくらいの容量の空きがないと途中でバグるかもしれないっぽい。

power shellを起動させる。

windowsの右下の虫眼鏡マークのところに「powershell」って打ったら出てくる。

(管理者権限がないとコマンド受け付けませんとか調子に乗ったこと言ってきたら

Start-Process powershell.exe -Verb runas

で管理者権限有りのpowershellに行ける。)

最 も 一 致 す る 検 素 結 果 Windows PowerShell ア プ リ ・ Anaconda Powershell Prompt (Anaconda3) 当 Windows PowerShelllSE ( 1 ) Windows POW 部 Sh ( X86 ) 設 定 POW 部 Sh の 開 発 者 向 け 設 定 署 名 な し で ロ ー カ ル PowerShell ス ク リ プ ト を 実 行 で き る よ う に す る Win + x メ こ ュ ー で は ] マ ン ド プ ロ ン プ ト を Windows POW 部 Sh に 置 き 換 え る Web の 検 索 刄 powershel Windows PowerShell ア フ リ 管 理 者 と し て 実 行 す る ISE を 管 理 者 と し て 実 行 す る 場 windows powershelllSE

そもそも管理者として実行するを押して開くを押したら上の煩わしい作業は不必要

(筆者は管理者がどうとか言ってくるので無駄にコントロールパネルいじってたここで1時間くらい沼った)

・powershellにて

WSL1を使えるようにするには以下のコマンドを入力

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

WSL2を使えるようにするには以下のコマンドを入力

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

を打つ。(スーパーサイヤ人2になった気分になれる)

・↑はあくまでも、WSL2が使える状態になっただけなので、

バージョンアップのために

https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel

のページから download the latest WSL2 Linux kernelをタウンロードしてインストール

 

沼ったエラー

(↓ここで3時間くらい沼った)

筆者はインストールするとこんなエラーが出ました。

Windows Subsystem for Linux Update Setup Windows Sibsystem for Limu Update Setup Wizard ended for prematurely teca_se of grrcr. YOLr has not beg-I rrodifäd. To it-stall lais prcgram ata later tirne, ÉeWp Wizard •Jain, Click the FhÉh but& exit he Seb& Wizard

解決するには

↑でダウンロードしたファイルを

C:\Windows\System32\lxss\tools

にコピーして、そこで実行する必要があるそうです!

) ロ ー カ ル デ ィ ス ク (C:) 名 前 ロ bsdtar ロ e れ 4.Vhd 興 型 z initrd. mg ロ license W ⅲ do 読 5 ) 5Y5ten132 得 WSI update_X64.msi ⅸ ) t00 更 新 日 時 202 町 07 / 1 7 14 : 2 日 2020 知 7 / 1 7 14 : 28 加 2 町 ロ ″ 1 7 14 : 2 日 2020 / 07 / 1 7 14 : 28 2 ロ 2 町 ロ 引 第 1 よ 49 却 2 町 ロ 5 / お 1 ロ : 3 日 2020 / 07 / 1 7 1 5 : 29 フ ァ イ ル GZ フ ァ イ ル フ ァ イ ル デ ィ ス ク イ メ - ジ フ カ イ ル フ ァ イ ル Windows イ ン ス ト - リ イ ズ 日 39 KB 41 2 K 8 61 日 K 日 52 K 8 59 に 31 KB 1 9 K 日 1 932 KB

Windows Subsystem for Linux Update Setup C(mpleted the Windows Subsystem for Linux Update Setup Wizard Cltk exit Fin*

これでおk!

その後の手順

WSL2をデフォルトに設定するためにpowershell

~> wsl --set-default-version 2

をうつと、音沙汰もなくなにごともなかったかのように、WSL2が使えるようになってる。

このままでは怖いので、ホントに確認入できたか確認するためにpowershell

wsl -l -v

を打つとバイナリなんとかとかほざいてエラーになるので、

Ubuntu 18.04 LTSをインストール。

https://www.microsoft.com/ja-jp/p/ubuntu-1804-lts/9n9tngvndl3q?rtc=1&activetab=pivot:overviewtab

導入後当然のようにエラー吐いてくる。

( ) Ubuntu 1 a04 は 5 Il-.g, は コ 巳 t 引 上 t を 介 slRegisterDistribution fai led with e げ 0 匚 Oxc03aOOla ワ ワ ワ ワ ワ ワ ワ ワ ワ ress a 「 Ⅳ key to conti 「 旧e・

 

仮想ディスク システムの制限が関係してるらしい

C:\Users\[name]\AppData\Local\Packages

にある

CanonicalGroupLimited.Ubuntu18.04onW…

を右クリック > プロパティ > 詳細設定 > 内容を圧縮してディスク領域を節約する

のチェックを外す。

をするとおk

 

) AppData ) [ 0 第 5 前 P 0 0 9E2F88E3 T it [ e に eqdk 372 、 、 m 1527 朝 05 ・ 日 39a ・ 4 日 32 ・ 911 日 54d4Bd6a0c8„ 34 四 1 E53. 朝 no 可 nk に 1 01 し 川 対 徒 5 れ 8 こ - 89005A2EAu [ Ode SketchBOOk - 廿 Igferk 「 A 「 0 Sy adobe.acrobatreaderdc.protectedmode 【 5e2524a ・ ea46 ・ 4 祐 7 ・ 941f ・ 6 的 465d9d51. 朝 noni 朝 に 「 ou 山 0 ⅲ e し b 加 1 巳 040 既 CanonicalGroupLlmited.UbuntuonWindo.. 朝 rom 巳 新 ndbox 水 rd Ⅷ 「 01592b 5 「 a3a れ DBA41 ト 73 。 C 引 0 ′ NO NO p ヨ dNO 花 0 E2A4 円 12 ・ 2574 ・ 4A75 ・ 9 能 0 ・ 0D02337 日 59. F46D40 ロ 0- 田 22-40 日 4- ACE ト 4 日 DDDE8„ G00 目 n [. 600g 尾 Searc れ . y 「 g5nOztvs p Microsoft3DBuilder_8weOb3d8bbwe Mi は 0 、 0 仕 549981 C3F5F10 、 、 e 対 b3d8bb M に r050 れ AAD を ro 純 第 ugi 圧 【 w5n 物 2 ⅸ y. Mi は 050 仕 A ( こ 0 凵 01 on レ ロ 、 5n1h2txye MicrosoftAdvertising.Xaml_8wekyb3d8b.. M に r050 れ App ( onn tor - PW 003d bw 尸 MicrosoftAsyncTektSerV1ce 8 を b3d8 江 。 M に r050 れ 日 n nan “ - ewe ) 3d 日 bbwe MicrosoftBingNews_8wekyb3d8bbwe MicrosoftEingSports_8wekyb3d8bbwe M に r050 れ 日 ngwe ま h れ O'b3d 日 bbw に Mi は 0 、 0 仕 日 0 日 背 0 物 11e0 を [ 、 、 501h2 ye y M に r050 れ ( onne ( ti Ⅵ 510re 日 w を 0b3d 日 工 更 新 日 時 202 町 0 〃 17 14 : 55 202 町 0 〃 17 14 : 55 202 町 0 〃 17 14 当 5 202 町 0 ″ 17 14 : 55 20 加 / 0 〃 マ 14 当 2 202 町 0 〃 17 14 : 52 202 ロ ん 〃 17 14 : 55 202 町 0 〃 17 17 : 1 1 202 町 0 ″ 17 17 ℃ ~ 20 加 / 0 〃 マ 14 当 2 202 町 0 〃 17 14 : 55 202 町 0 〃 17 14 : 55 202 町 0 〃 17 14 当 5 202 町 0 ″ 17 14 : 55 20 加 / 0 〃 マ 14 当 5 202 町 0 〃 17 15 ℃ 1 202 ロ / 0 〃 17 14 : 55 202 町 0 〃 17 14 : 55 202 町 0 ″ 17 14 : 52 20 加 / 0 〃 マ 14 当 5 202 町 0 〃 17 14 : 55 202 町 0 〃 17 14 : 55 202 町 0 〃 17 14 当 5 202 町 0 ″ 17 14 : 55 20 加 / 0 〃 マ 14 当 5 202 町 0 〃 17 14 : 55 202 ロ / 0 〃 17 14 : 55 フ ァ イ ル フ ル タ - フ ル フ ォ ル ダ - フ ァ イ ル フ ォ ル ダ - フ ァ イ ル フ ル ダ - フ ァ イ ル ) オ ル ダ - フ ァ イ ル フ ル タ - フ イ ル フ ォ ル ダ - フ ァ イ ル フ ォ ル タ ー フ ァ イ ル フ ル ダ - フ ァ イ ル ) オ ル ダ - フ ァ イ ル フ ル タ - フ ル フ ォ ル ダ - フ ァ イ ル フ ォ ル ダ - フ ァ イ ル フ ル ダ - フ ァ イ ル ) オ ル ダ - フ ァ イ ル フ ル タ - フ ル フ ォ ル ダ - フ ァ イ ル フ ォ ル ダ - フ ァ イ ル フ ル ダ - フ ァ イ ル ) オ ル ダ - フ ァ イ ル フ ル タ - フ ル フ ォ ル ダ - フ ァ イ ル フ ォ ル ダ - フ ァ イ ル フ ル ダ - フ ァ イ ル ) オ ル ダ - フ ァ イ ル フ ル タ - フ ル フ ォ ル ダ - リ イ ズ ー CanonicalGroupLimited,Ubuntu1 ?.O•IO"W ⅲ 」 cw 、 -7 h plfn. 全 共 有 セ キ ュ リ テ ィ 以 前 の バ - ジ ョ ン カ ス タ マ イ ズ 属 住 の 第 「 : ー 1 こ の フ ォ ル ダ - に 造 用 す る 設 定 を 選 択 し て く だ さ い 。 こ 」 X 場 所 . プ イ ズ . デ ィ ス ク 上 の プ イ ス . 内 谷 . 作 成 日 時 : -imited.ubuntu18.040nWindows_79rhkp1fndgsc フ ァ イ ル フ ォ ル ダ - (040nWindows_79rhkp1fndg 0 」 、 0 「 扣 ppDa 物 0 単 P 既 朝 g ” 四 5MB 円 3 16 0 バ イ 日 四 5MB 円 3 16 0 バ イ 日 フ ァ イ ル 数 . 9 、 フ ォ ル ダ - 数 : 加 加 20 年 7 月 卩 日 、 1 れ 1 1 : 1 7 九 パ ア イ ダ イ ア ロ グ て 丨 0 ま た は 一 適 用 ] を ク リ ッ ク す る と 、 そ の 変 更 を サ プ フ 月 ル タ - や フ ァ イ ル に も 適 用 す る か ど う か た す ね ら れ ま す 。 ア - カ イ ブ 屋 性 お よ び イ ン デ ッ ク ス ま 注 ロ フ ォ ル ダ - を ア - カ イ プ 可 能 に す る ( 曰 こ の フ ォ ル タ - 内 の フ ァ イ ル に 対 し 加 パ テ イ だ け で な く コ ン テ ン ツ に も イ ン デ ッ ク ス を 付 け る ( 0 圧 屋 性 ま た は 墻 号 化 度 在 ロ 内 容 を 圧 第 し て デ ィ ス ク 領 域 を 節 約 す る ( Q 内 容 を 晤 号 化 し て デ - タ を セ キ ュ リ ア イ で 保 護 す る 旧 回 読 み 取 り 専 用 ワ 月 ル タ - 内 の フ ァ イ ル 0 み )( ロ 隠 し フ ァ イ ル ( 詳 細 設 定 ( D レ 詳 細 ( キ セ ル キ ャ ン セ ル 退 用 い 一

(↑ここで2時間くらいは沼った)

powershellにて(もちろん管理者権限で)

wsl -l -v

を打って↓のようになればOKです。お疲れ様です。

NAME STATE Ubuntu-18.04 Runn ng --1 ist - -ver bose VERSION 2

 

参考サイト

https://qiita.com/saida/items/ab6c5a980a1f5383c23a