DockerプロジェクトをWSL上に置き、ホットリロード問題解決を試みる

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

Discussion in the ATmosphere

Loading comments...