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

Docker Volume的--mount命令失效,报路径非绝对路径问题求助

MongoDB Docker Volume使用--mount命令报错问题

我想要创建一个容器删除后仍能使用的MongoDB Docker Volume。
使用-v参数的命令可以正常工作:

docker run -d --name mongo-local -p 27017:27017 -v mongo-local:/data/db mongo

但改用--mount参数的命令时:

docker run -d --name mongo-local -p 27017:27017 --mount source=mongo-local,target=/data/db mongo

出现如下错误:

Error response from daemon: invalid mount config for type "volume": invalid mount path: 'C:/Program Files/Git/data/db' mount path must be absolute.
See 'docker run --help'.

我已提前创建好名为mongo-local的Volume,这并非问题所在。为何会出现此错误?

补充说明:
尝试了@BMitch的解决方案,但仍出现相同错误。

错误截图

参考资料:Docker官方文档中关于使用Volume启动容器的内容


问题原因

这是因为你在Git Bash环境下执行命令,Git Bash会自动把Linux风格的路径(比如/data/db)转换为Windows路径,最终变成C:/Program Files/Git/data/db,而Docker无法识别这个错误的路径格式,因此抛出“挂载路径必须是绝对路径”的错误。

解决办法

推荐三种可行方案:

  • 给--mount参数加双引号,避免Git Bash解析路径:
docker run -d --name mongo-local -p 27017:27017 "--mount source=mongo-local,target=/data/db" mongo
  • 在目标路径前加双斜杠,告诉Git Bash不要转换该路径:
docker run -d --name mongo-local -p 27017:27017 --mount source=mongo-local,target=//data/db mongo
  • 换用Windows原生终端执行命令,比如CMD或者PowerShell,这些环境不会对Linux风格路径做自动转换,直接执行原命令即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 06:10:59