Mac环境下Docker Volume挂载报错:invalid mode: /usr/app求助
解决Docker运行时"invalid mode: /usr/app"错误
错误原因
这个错误通常是Docker解析绑定挂载参数时出现问题,大概率是本地路径的格式或特殊字符导致Docker误将容器路径识别为挂载模式。
解决方案
1. 用引号包裹本地路径
将$(pwd)用双引号括起来,避免路径中的空格或特殊字符被Shell错误分割:
docker run -p 5200:5200 -it --name server -v "$(pwd)":/usr/app -v /usr/app/node_modules server-docker
2. 检查并修正路径特殊字符
如果当前目录路径包含冒号(:)等特殊字符,会干扰Docker对挂载参数的解析,建议修改目录名,或者直接使用带引号的绝对路径:
docker run -p 5200:5200 -it --name server -v "/Users/你的用户名/项目路径":/usr/app -v /usr/app/node_modules server-docker
3. 确认Docker文件共享权限
打开Docker Desktop偏好设置,进入Resources -> File Sharing,确保当前目录所在的磁盘(比如Mac的/Users)已被添加到共享列表并启用,避免Docker无法访问本地路径。
补充说明
你命令中第二个-v /usr/app/node_modules的写法是正确的,它会创建一个匿名卷挂载到容器的node_modules目录,避免本地node_modules覆盖容器内安装的依赖,这个逻辑没问题。
内容的提问来源于stack exchange,提问作者Cwei0
相关产品推荐
相关产品推荐

