2015-11-06 133 views
5

工作当从CoreOS VM如期工作运行以下命令:搬运工运行-v不使用Windows上的搬运工,工具箱

docker run --rm -v $PWD:/data composer init

它的作用是初始化composer.json文件通过使用指定的docker卷映射来创建当前工作目录。 Docker容器基本上安装了php工具编辑器,并将在容器的/ data文件夹中运行该工具。通过使用映射,它实际上将其应用于主机上的文件。

但是,当试图在使用Docker Toolbox的Windows上运行此命令时,出现以下错误。

$ docker run --rm -v $PWD:/data composer --help 
invalid value "C:\\Users\\Marco;C:\\Program Files\\Git\\data" for flag -v: bad mount mode specified : \Program Files\Git\data 
See 'C:\ProgramData\Chocolatey\lib\docker\bin\docker.exe run --help'. 

我在这里注意到虽然我在git-bash中执行命令时仍然使用windows路径。所以然后我试着下面(用引号环绕):

$ "docker run --rm -v $PWD:/data composer --help" 
bash: docker run --rm -v /c/Users/Marco:/data composer --help: No such file or directory 

现在找不到目录。

我也试过没有$ PWD变量,但这没有什么区别。

任何想法如何使这项工作在Windows上?

+0

我的观点是:不要使用git bash。 – VonC

回答

4

这应该工作: $ docker run --rm -v //c/Users/Marco:/data composer --help

+0

太棒了,那有效!但为什么?对于我来说,在将Docker 1.8.2升级到1.9.1后,行为发生了变化。在1.8.2上,语法/ c/Users ...工作得很好。 – AronVanAmmers

0

尝试MSYS_NO_PATHCONV=1 docker run ...

Gitbash尝试其他Windows命令将路径转换。