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

Windows环境执行docker run命令时$(pwd)参数无效报错问题

报错根因

$(pwd)是Linux、macOS等类Unix系统Shell的内置语法,作用是动态获取当前终端所在工作目录的绝对路径。你参考的教程原本面向类Unix系统用户编写,Windows系统的终端默认不识别该语法,Docker会直接把$(pwd)当成普通的自定义卷名处理,因字符串包含非法字符触发报错。

对应解决方法

根据你当前使用的Windows终端类型,替换命令里的$(pwd)即可:

  • 使用CMD命令提示符时,替换为%cd%,完整命令:
docker run -v %cd%:/mnt -p 9090:9090 -w /mnt mytest ./scripts/tests.sh
  • 使用PowerShell时,替换为${PWD},完整命令:
docker run -v ${PWD}:/mnt -p 9090:9090 -w /mnt mytest ./scripts/tests.sh
  • 使用Git Bash、WSL等类Unix兼容终端时,在路径前加额外斜杠做路径转义,完整命令:
docker run -v /$(pwd):/mnt -p 9090:9090 -w /mnt mytest ./scripts/tests.sh

补充说明:如果替换后仍出现路径识别错误,可以直接写死项目文件夹的绝对路径,比如项目存放在D:\workspace\my-nginx-demo,就把参数写成-v D:\workspace\my-nginx-demo:/mnt,这种写法不受终端语法差异影响,兼容性最高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 06:45:42