実現したいこと
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 コメント