事象
Mac(M1Pro Monterey)にDockerDesctopインストール後、docker-compose build
をしたら以下のエラーが発生する。
failed to solve with frontend dockerfile.v0: failed to create LLB definition: rpc error: code = Unknown desc = open /Users/<ユーザ名>/.docker/.token_seed: permission denied
ERROR: Service 'mock' failed to build : Build failed
sudo
で実行すると上記のエラーは出ない。
環境変数に設定したPATHをdocker-composeファイルで参照しているが、sudo docker-compose build
だとスーパーユーザで実行されるため、環境変数のPATHが参照できず別のエラーが出る。
解決策
.token_seedのパーミッションが-rw-------
になっていたため、以下のコマンドで.token_seed、.token_seed.lockのパーミッションを変更したら解決した。
chmod 666 .token_seed .token_seed.lock
(.token_seedがあるディレクトリで実行、.token_seedのパスはエラーメッセージにある)
.token_seedのパーミッションが-rw-------
になっていた理由は不明。
DockerDesctopをインストールしたときに特別な操作をした記憶はない。