WSL2+Dockerが重い時に見直すこと

 

Windows10でVirtualBox+vagrant+DokerからWSL2+Dockerに移行して遅くなった問題を解消したので、メモ。

環境構築系の情報は割とありますが、あまり強調されて書かれていないことでした。WSL2+Dockerで動作が遅い時、環境構築時に気を付けて欲しいポイントです。

 

結論

WSL2にインストールしたLinuxのファイルシステム(今回で言えば、Ubuntu)配下にソースコードを配置する必要がある。


例としては、下記の通り

\\wsl$\Ubuntu-20.04\home\<ユーザ名>

Linuxパスでいう/home/<ユーザ名>配下。

※厳密には<ユーザ名>配下である必要はないのですが、home配下が間違いないと思います。

 

Windowsのエクスプローラで、「\\wsl$」と打つと、WSLのディレクトリを確認できるのは豆知識。

 

経緯

VirtualBox、vagrantをアンインストールし、WSL2を有効化。

WSL2のWindowsの公式な方法は下記の通り。

docs.microsoft.com

 

ここで、Ubuntuのインストールまでは行ったが、それ以上何もせず、通常のWindows側

のディレクトリにソースコードを置いて起動していた。

 

これが激重で、Railsのアプリを立ち上げるにも、1分以上かかるし、いちいち動作が遅かった。

ある時、画面共有しながらMacで開発している人が同じローカル環境でサクサク動かしているのを見ていて、やっぱり動作が遅いんだと確信に変わりました。

 

そこで、色々調べて、Linux側のファイルシステムにソースを置くのが良いという情報を手に入れ、対応してみたところ、サクサク動くようになりました。

ichi.pro

 

 

原因

WSL2配下だと/mnt/cにWindowsファイルシステムがマウントされた状態となる。

これによって、ファイルアクセスが遅くなるとのこと。

他にも設定が必要ですが、何だか遅いなと思った時は、是非見直してみてください。

 

こちらからは、以上です。