'docker run -v' 无法在 Windows 上使用 Docker 工具箱
'docker run -v' does not work on Windows using Docker Toolbox
当 运行从 CoreOS VM 执行以下命令时,它按预期工作:
docker run --rm -v $PWD:/data composer init
它将使用指定的 Docker 卷映射初始化当前工作目录中的 composer.json
文件。 Docker 容器基本上安装了 PHP 工具作曲家,并将 运行 该工具放在容器的 /data
文件夹中。通过使用映射,它实际上将其应用于主机上的文件。
但是,当尝试使用 Docker 工具箱在 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 上进行这项工作?
这应该有效:
$ docker run --rm -v //c/Users/Marco:/data composer --help
尝试MSYS_NO_PATHCONV=1 docker run ...
Git Bash 尝试转换其他 Windows 命令的路径。
当 运行从 CoreOS VM 执行以下命令时,它按预期工作:
docker run --rm -v $PWD:/data composer init
它将使用指定的 Docker 卷映射初始化当前工作目录中的 composer.json
文件。 Docker 容器基本上安装了 PHP 工具作曲家,并将 运行 该工具放在容器的 /data
文件夹中。通过使用映射,它实际上将其应用于主机上的文件。
但是,当尝试使用 Docker 工具箱在 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 上进行这项工作?
这应该有效:
$ docker run --rm -v //c/Users/Marco:/data composer --help
尝试MSYS_NO_PATHCONV=1 docker run ...
Git Bash 尝试转换其他 Windows 命令的路径。