はじめに
自分はよく、「WSL2 + Docker + Laravel + React(or Vue)」環境で開発していて、動作が遅すぎて毎度イライラし、作業効率を大幅に下げていました。
シンプルにメモリのせいだと思い、メモリを増築・・・
しかし、それでも大差のない遅さ。
なんでだろうと思って色々調べたときに、対策したメモです。(Windows環境です。)
Mac環境であれば、@ucan-labさんの
https://qiita.com/ucan-lab/items/a88e2e5c2a79f2426163
をご参照ください。大変わかりやすいです。いつも大変お世話になっております・・・
ちなみに、ReactやVueとかの環境を作っている場合にもかなり効果的でした。
(npm run devとかするときですね。)
結論
「\\wsl$\Ubuntu-20.04\mnt\」配下に、プロジェクトを配置するのではなく、
「\\wsl$\Ubuntu-20.04\home\」配下に、プロジェクトを配置。
※Ubuntuのバージョンは、良しなに・・・
つまり、
「¥¥wsl$\Ubuntu-20.04¥home¥」配下に、
Dockerfileとかdocker-componse.ymlがある場所で
「docker-compose up -d --build」とかをしてみる。
ということです。
内容
動作が遅くなっている理由として、
WindowsとLinuxのOSファイルシステム間でのファイル読み込みが遅くなっていることが原因です。
WSLがどういう構造で、どういうフォーマット形式で動作しているのかなどの確認をしたい場合には、
参考のリンクを参照ください。めちゃくちゃわかりやすいです、どちらも。
所感
ほんと、とんでもなく速くなっているので、なんでもっと早く気付かなかったのだろうと・・・
とにかく、「WSL2 + Docker + Laravel + React(or Vue)」などの環境で動作が遅いことを気にされている方は一読を。
参考
https://www.aska-ltd.jp/jp/blog/197
https://snyt45.com/posts/20210806/wsl2-multiple-linux-distribution/