`/src/Gemfile.lock` への書き込み中にエラーが発生しました。そのパスに対する書き込み権限を付与する必要がある可能性が高いです

https://meta.discourse.org/t/install-discourse-for-development-using-docker/102009 の Docker の指示に従っている際に、次のエラーが発生しました。

$ d/boot_dev --init;
Using source in: /local/discourse
Using data in:   /local/discourse/data/postgres
release: Pulling from discourse/discourse_dev
Digest: sha256:30890360c3f02aef4369665be3db637c0b847a8a714b3518fecc49406a0d7f72
Status: Image is up to date for discourse/discourse_dev:release
docker.io/discourse/discourse_dev:release
c47ea0052a293b05b2880d43bf139aced31664e1c5a5a136a189bb30038bf4b5
Installing gems...
There was an error while trying to write to `/src/Gemfile.lock`. It is likely that you need to grant write permissions for that path.

「Discourse のコードを変更して変更をデプロイする」サイクル用の、簡単な Discourse 開発環境が欲しいだけです。

よろしくお願いします!

「いいね!」 1

私もこの問題に遭遇しています。私の場合は、rootless Docker を使用しており、コンテナがマウントされた src ディレクトリへの書き込み権限を持っていないことが原因のようです。現時点では回避策を見つけられていません。

私のユーザーは期待どおりにコンテナを実行していますが(UID 1000)、コンテナ内では src のマウントされたすべてのファイルが root(UID 0)によって所有されており、それらのファイルを別のユーザーとしてマウントする方法 がありません。

関連(新規ユーザーのリンク投稿制限のためリンク解除):

  • github dot com/mamba-org/micromamba-docker/issues/407
  • joeeey dot com/blog/rootless-docker-avoiding-common-caveats/#storage-fixes

OS: Ubuntu 24.04.1 LTS
Docker: v27.3.1, build ce12230 (rootless)
Discourse リポジトリ git commit: cc01555fce59e116b76c912b4c5195e111a652b2

「いいね!」 1

discourse_devのDockerに入る

cd src
chmod 777 Gemfile.lock
「いいね!」 2