Docker环境下安装Frappe/ERPNext遇权限错误求助
解决Docker中执行
bench init时的PermissionError权限问题 以下是针对你遇到的权限拒绝问题的具体解决步骤:
先确认当前工作目录的权限归属
在VSCode的终端中执行:ls -ld .查看输出中的所有者和用户组是否为当前执行命令的用户(通常是
frappe)。如果不是,需要调整目录权限。在容器内修正目录权限
不要在本地主机执行权限修改命令,而是在VSCode的容器终端内执行:sudo chown -R $USER:$USER .若容器内没有
sudo权限,直接切换到root用户(如果允许)执行:chown -R frappe:frappe .验证Docker Desktop的文件共享设置
打开Docker Desktop,进入「设置」→「资源」→「文件共享」,确认frappe_docker文件夹所在的父目录已被添加到共享列表并启用,否则容器无法写入本地目录。解决UID/GID不匹配问题
本地Pop!_OS用户的UID/GID可能和容器内frappe用户的不一致,导致权限冲突:- 在本地终端执行
id -u和id -g,记录你的用户UID和GID - 在
frappe_docker的docker-compose.yml或.devcontainer/devcontainer.json中添加用户映射配置:user: "你的UID:你的GID" - 重新启动Dev Container
- 在本地终端执行
重置Dev Container
如果以上步骤都无效,删除现有的Dev Container实例,在VSCode中重新打开frappe_docker文件夹并选择「在容器中打开」,让容器重新创建并自动配置正确的权限。
内容的提问来源于stack exchange,提问作者Diaruys
相关产品推荐
相关产品推荐

