{
"$type": "site.standard.document",
"canonicalUrl": "https://blog.nove-b.dev//posts/resolve-hot-reload-issue-wsl-docker",
"path": "/posts/resolve-hot-reload-issue-wsl-docker",
"publishedAt": "2023-02-15T00:00:00.000Z",
"site": "at://did:plc:2atly2y5kfyjcj5zap6pv4wd/site.standard.publication/3mmxeqr2tcb2k",
"tags": [
"docker",
"wsl",
"ホットリロード"
],
"textContent": "Dockerで立ち上げたサーバーが遅すぎる。\n\n「はい、サーバーが立ち上がるまで、5分かかりました」\n\nなんていう先生の声が脳内でリフレインする。\n\nコマンドを打った後の話である。\n\n何が言いたいかというと、Dockerで立ち上げたサーバーが以上に重い。\n\n立ち上げ後、ブラウザが表示されるまで5分以上かかり、更新をクリック後、更新がかかるまで5分以上かかる。\n\nこれじゃ、なかなか作業が進まない。\n\nそれに前述、前回書いたようにホットリロードがかからないし、そもそも遅すぎてホットリロードが正常に機能しているかがわからない。\n\nどう解決するか\n\nじゃあ、どうするべきか。\n\nうまくいくかはわからないが、これもまた前回の記事で書いたように、「wsl上にファイルを置く」ということで少なくともホットリロードは解決するかもしれない。\n\nまたDockerもWSL上で動かしているので、開発環境のスピードも上がるかもしれない。\n\nというのも下記のような内容のコメントを見つけた。\n\n> 特殊な理由がない限り、複数のオペレーティング システム間でファイルを操作しないことをお勧めします。 Linux コマンド ライン (Ubuntu、OpenSUSE など) で作業している場合、最速のパフォーマンス速度を実現するには、ファイルを WSL ファイル システムに格納します。\n> Microsoft公式 - OS ファイル システム間でのパフォーマンス\n> ということでやってみる。\n\nファイルを WSL ファイル システムに格納する\n\nまずはUbuntuを開く。そうするとターミナルが開くので\n\nコマンドで自身がどこにいるかを確認する。たぶん/home/UserNameにいる。\n\n次にそこにプロジェクトフォルダを作成する。\n\n作成したプロジェクトに移動し、\n\nVsCodeを開く。\n\nそこでプロジェクトを作成する。 今回は「DockerでnextJsとnestJsの環境構築をする」で作成したものと同じものを作成した。\n\n次に拡張機能WSLを取ると、リモート接続してくれる。\n\nそこでDockerを起動すれば上手く行くと思うが、起動後すぐに落ちる。\n\nというエラー出ていること確認した。\n\nエラー文通りに実行する。\n\nDocker Desktop >Resources >WSL integrationでUbuntuをonにする。\n\nこれによりDockerコマンドは使えるようになったが、まだ起動しない。\n\nよくわからないのでdocker compose upを実行(-d)を取って実行すると、エラーログなようなものが出てきた。\n\nちなみに-dは\n\n> コンテナはバックグランドで起動し、そのまま実行し続けます。\n\nとのことらしい。\n\n......解決できない。 環境構築の時間をかけすぎるのも問題なので、ここでいったんDockerと仲違いすることにした。",
"title": "DockerプロジェクトをWSL上に置き、ホットリロード問題解決を試みる"
}