You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器执行yarn命令报EPERM权限错误的原因排查

Docker容器启动后因EPERM权限错误退出的解决方案

我之前也碰到过一模一样的问题,咱们来一步步拆解原因和解决办法:

问题根源

你用的node:12-alpine镜像默认是用node用户(UID通常是1000)来运行命令的,但Windows下把本地目录挂载到Linux容器时,容器内的挂载目录权限会和Windows的文件系统权限映射出现不兼容的情况——即使你本地给了管理员完全控制,容器里的node用户还是没有足够权限去创建node_modules目录或者写入日志文件。

快速解决办法

最简单直接的方式是让容器以root用户运行命令,这样就能绕过权限限制(开发环境完全没问题,生产环境再考虑权限收紧)。修改你的Docker命令,加上--user root参数:

docker run -dp 3000:3000 `
  -w /app `
  -v "$(pwd):/app" `
  --user root `
  node:12-alpine `
  sh -c "yarn install && yarn run dev"

额外排查点

如果加了root用户还是不行,你可以检查下Docker Desktop的文件共享设置:

  • 打开Docker Desktop设置,进入Resources > File Sharing
  • 确保你当前项目所在的磁盘(比如C盘)已经被勾选允许共享,没开的话也会导致挂载目录权限异常

内容的提问来源于stack exchange,提问作者Aadesh Dhakal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:28:52