開発環境の構築 #5 ファイルシステム

WSL2 + Ubuntu + Docker で環境構築した場合にどこに開発したファイルを置くのがいいのか。

保管可能な場所は以下の三か所。

– Windows
– Ubuntu
– Docker

Docker(コンテナ)で開発するのだから、Docker(コンテナ)でいいかと思いきや、コンテナを削除した場合にファイルまで削除されるので、Docker は却下。

Windows にファイルを置けば、Ubuntuからアクセス可能(マウント)だが処理が遅い。

となると、Ubuntu に ファイルを置き、Docker コンテナとマウントすることになる。で一件落着かと思いきや、今度は権限の問題が出てくる。
WSL側はユーザー・グループともに ID 1000で、Docker コンテナ側は root ユーザーとなる。WSL を root で操作することも可能だが、そうすれば、ホスト側でコード編集をすることになり、VSCode のコード補完等でホスト側にもPHPをインストールする必要が出てくる。

結局、VSCode の Remote Development を使うことに。つまり、実際にはホスト側にファイルを置きつつも、コンテナ側で直接 VSCode を用いてコードをリモート開発できる。便利すぎ。