LoginSignup
4

MacでのDockerビルド時に buildx/current: permission denied が出たときの解決法

Last updated at Posted at 2023-05-22

事象

M1 Macでdockerのビルドを実行したときに以下のエラーが出ました。

$ docker-compose build

open /Users/{user_name}/.docker/buildx/current: permission denied

結論

該当ファイルをオーナー変更してから docker-compose build すべし!

$ sudo chown -R {user_name} ~/.docker/buildx/current

解決までのメモ

エラーメッセージでググってすぐに出てくる記事がこちら。

なるほどと思って、以下を実行してから再度トライ。

$ export DOCKER_BUILDKIT=0
$ docker-compose build

...(中略)
no matching manifest for linux/arm64/v8 in the manifest list entries

このエラーで検索すると、 platform: linux/amd64 を付けよう、って記事が多数ヒットするんですが、今回の環境では既に付けてます。
M1 Macに移行したときにこのエラーには何度もお世話になったので、M1起因の問題かなと思ってそちら方面で調べ始めてハマってしまいました。

最初のエラーでもう一度ググり直したところ、ようやく以下の記事に辿り着きました。("7"って何よ...(スクショ参照))
ScreenShot 2023-05-23 4.47.31.png

確かに権限を確認してみると、 root になってる!

$ ll ~/.docker/buildx 
total 8
drwx------  2 {user_name} staff  64  5 17 12:19 activity
-rw-------  1 root        staff  48  5 23 04:29 current
drwx------  2 {user_name} staff  64 11 29 12:18 defaults
drwx------  2 {user_name} staff  64 11 29 12:18 instances

記事の通り、ファイルオーナーを変更。

$ sudo chown -R {user_name} ~/.docker/buildx/current

これで無事に docker-compose build が成功しました!

おわりに

すごく遠回りしてしまいましたが、 permission denied なんだから、該当ファイルの権限を見に行けばすぐに気づけそうな問題でした...。(脳死でエラー文言で検索しちゃってました)
この問題の記事が全然出てこなかったのも、これでハマる人はあまりいないのかもですが、誰かの役に立てばと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4