open /Users/[user]/.docker/buildx/current:在 macbook 上权限被拒绝?

问题描述 投票:0回答:3

我运行了命令

docker compose up --build
,它运行正常,然后我尝试使用 sudo 运行它一次。

从那时起,如果我不使用 sudo,我会收到此错误:

open /Users/[user]/.docker/buildx/current: permission denied

显然可以通过在命令之前设置

DOCKER_BUILDKIT=0
来修复,但我真的想要一个干净的解决方案。

我尝试重新启动我的笔记本电脑,删除 docker 桌面(使用我在堆栈溢出上发现的卸载脚本,显然没有卸载所有内容)。我仍然收到该错误

docker macos
3个回答
174
投票

正如@emadpres 的评论,我在这里与自动检测用户的 mac 用户分享:

sudo chown -R $(whoami) ~/.docker

13
投票

正如 @lane.maxwell 所评论的,您需要将

~/.docker
目录的所有者更新为您的用户名,使用:
sudo chown -R [user] ~/.docker

(

-R
: 递归地对子目录执行更改)


0
投票

我在 mac 上遇到了与 docker-desktop 相同的问题,之前的答案都没有解决我的案例中与 buildx 相关的工件导致权限问题的解决方案。

buildx 相关工件的所有权冲突

如果与 buildx 相关的文件或目录的所有权发生冲突,Docker 将不会授予修改它们的权限,如果权限设置过于严格,也会发生这种情况。

损坏或陈旧的

buildx 相关工件

buildx 缓存中的损坏文件或陈旧的构建工件可能与新构建冲突,导致权限被拒绝。

无论哪种情况,一种做法是删除 buildx 工件并重新初始化它。

rm -rf ~/.docker/buildx
如果需要重新初始化

docker buildx create --use
    
© www.soinside.com 2019 - 2024. All rights reserved.