Windows 10下Docker挂载本地卷时%cd%字符无效的问题求助
解决Windows 10下Docker挂载本地卷的错误问题
错误根源
- 参数顺序混乱:原命令中
-v选项后直接跟了-p,Docker会把%cd%识别为本地卷名称而非主机目录路径,而%cd%包含的字符不符合卷名规则(仅允许字母、数字、下划线、点、连字符),因此触发报错。 - 路径变量适配错误:
%cd%是CMD终端专属的环境变量,若在PowerShell中执行该命令,这个变量无法被正确解析。
修正后的命令
1. 在CMD终端执行
调整参数顺序,并给%cd%添加双引号避免路径含空格时解析出错:
docker run -it -p 3000:3000 -v "%cd%":/usr/src/app rails6
2. 在PowerShell终端执行
改用PowerShell可识别的${PWD}变量,或直接填写绝对路径:
docker run -it -p 3000:3000 -v "${PWD}:/usr/src/app" rails6
手动填写绝对路径示例:
docker run -it -p 3000:3000 -v "C:/Users/你的用户名/项目目录:/usr/src/app" rails6
额外注意事项
- 确保Docker Desktop已开启文件共享功能(路径:设置>资源>文件共享),勾选要挂载的磁盘分区,避免权限类问题。
- 路径分隔符使用正斜杠
/或双反斜杠\\,不要用单个反斜杠\,否则会被解析为转义字符导致错误。
内容的提问来源于stack exchange,提问作者granters
相关产品推荐
相关产品推荐

