shinry
@shinry (shinry)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Dockerで新規作成ファイルが権限エラーで上書きできない問題の解決方法

解決したいこと

Docker環境でrails g modelのようにコマンドを実行して、新規作成ファイルを作成しました。
ただ、権限エラーでファイルを上書きできません。

発生している問題・エラー

を保存できませんでした。~
NoPermissions (FileSystemError): Error: EACCES: permission denied, open~

自分で試したこと

以下のUIDとGIDをホストと合わせるのを試してみましたが、うまくいきませんでした。
https://zenn.dev/giba/articles/73e6a316d4e3eb
いいやり方を知ってる方いませんか

0

2Answer

This answer has been deleted for violation of our Terms of Service.

Dockerを動作させているホスト環境、実行したDockerコマンド、ファイルを作るためにコンテナ内で実行した具体的なコマンド、どの環境から書き込もうとしてエラーになったのか、等々の情報がないことには回答が困難です。
もっと詳細な情報を添付してください。

0Like

Comments

  1. @shinry

    Questioner

    @midoribiさん コメント、ありがとうございます。
    情報が足りていなくて、申し訳ありません。
    環境はWSLです。
    wsl + docker + railsの環境で作業していました。
    wslはvscode上でリモート接続しています。
    実行したコマンドとしては、

    rails g model Admin name:string
    

    を実行し、model,migrationファイルが作成された後にmodel,migrationのファイル内容を編集しようとしたら、上書きできないというエラーがでました。
    image.png

  2. Dockerを動作させているホスト環境

    WSL

    実行したDockerコマンド

    不明

    ファイルを作るためにコンテナ内で実行した具体的なコマンド

    rails g model Admin name:string

    どの環境から書き込もうとしてエラーになったのか

    たぶんWSL

    ということですね。
    "詳細"な情報ありがとうございます。

    Dockerコンテナ内で作られたファイルの所有者はデフォルトではrootなので、wslで編集しようとすると権限不足でエラーになります

    編集作業もコンテナ内でやるか、chmodでファイルの権限を変更するかが良いかと。
    添付していただいたコンテナのuserを変える方法も一つの手ですが、結構面倒くさいので、個人的にはあまりお勧めしません。

  3. @shinry

    Questioner

    @midoribi さん
    なるほど、chmodで権限変更をして毎回やってたのですが、その手間をどうにか減らせないかと考えていたところでした。
    ご回答いただきありがとうございます。

  4. @shinry

    Questioner

    @michi_taka
    コメントありがとうございます。
    そちらの方法も試してみたのですが、うまくいかず、、といった感じですね

Your answer might help someone💌