DockerでLaravelの開発の際のパーミッションとオーナーの設定についてのご相談

実現したいこと

Dockerの初学者です。よろしくお願いいたします。

windows10 homeでWSL2を入れてWSL上で開発をしております。
エディターはVS-codeです。

DockerでLaravel10、mysql、nginx、phpadminをdocker compose でRUNし、Laravelの最初のページやDBにアクセスできるようになりました。
しかし開発において悩みがあります。

例えば、文字列や画像を保存するCRUDの開発をしていく中で
以下のようなコマンドを打つ必要がありました。

sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data public/images
sudo chmod -R 775 public/images

発生している問題・分からないこと

ここまでは理解できるのですが

その後、WSL上にあるプロジェクトファイルをVS-code上で編集して上書き保存をしようとすると
VS-CODEの右下にアラートが表示されました。

該当のソースコード

vs

1Failed to save 'example.file': Unable to write file (No Permissions (FileSystemError): Error: 2EACCS: permission denied, open 'path/to/example.file'

これは、すべてのファイルで起きるわけではなく、テーブル作成のmigrationファイルだったり、
web.phpなどのルーティングファイルなどで上書きができませんでした。

試したこと・調べたこと

上記の詳細・結果

そのため以下のコマンドを実施しました。

1709 sudo chown -R watashi:watashi /home/watashi/Documents/laravel-docker
1710 sudo chmod -R 775 /home/watashi/Documents/laravel-docker

すると、今度はdocker上でwww-dataで実行しなければいけないところが変わって
動かなくなってしまったり、先ほど設定したはずの以下の操作をもう一度しなければ
ならなくなりました。
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data public/images
sudo chmod -R 775 public/images

もしかして、Windows上で開発をしていることが問題ではないか?
と思いUbuntu-desktopでも試したのですが同様の現象がおきました。

これが現在起きている問題になります。
パーミッションやオーナーの設定変更などをせずに、
スムーズな開発をするにはどのようにしたらよいのでしょうか?皆様よろしくお願いいたします。

補足

特になし

コメントを投稿

0 コメント