2016-05-31 39 views
2

当我尝试挂载远程目录到一个容器:安装远程机器目录与泊坞窗机在Windows容器

$ eval $(docker-machine env manager) 
$ docker run --restart=unless-stopped -d -p 3376:2375 \ 
-v /etc/docker:/certs:ro \ 
swarm manage --tlsverify \ 
--tlscacert=/certs/ca.pem \ 
--tlscert=/certs/server.pem \ 
--tlskey=/certs/server-key.pem \ 
consul://$(docker-machine ip keystore):8500 

我得到的错误:

C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: Invalid bind mount spec "C:\\Users\\MY_USERNAME\\AppData\\Local\\Programs\\Git\\etc\\docker;C:\\Users\\MY_USERNAME\\AppData\\Local\\Programs\\Git\\certs;ro": invalid mode: \Users\MY_USERNAME\AppData\Local\Programs\Git\certs;ro. 
See 'C:\Program Files\Docker Toolbox\docker.exe run --help'. 

看起来像搬运工-machine试图将localhost目录挂载到远程容器,但它不是我想要的。

解决方法是将ssh放入管理器机器并在其中运行命令!那么码头机的全部目的是什么?

我错过了什么吗?如何使用docker-machine将远程机器目录挂载到它的容器?

注意:我没有使用virtualbox,机器已创建与天蓝色的驱动程序。

回答

2

如果,您可以通过设置环境变量MSYS_NO_PATHCONV=1禁用此路径自动翻译行为。

+0

这工作,什么是禁用自动路径转换的缺点? – Pedram

+0

缺点是'ls/c/users'可能无法“自动”运行。 – nathanleclaire

1

我猜你正在使用基于mingw的shell,例如。 Cygwin,Git Bash或类似的。该shell将尝试将Unix看起来的路径扩展到Windows等价物。

我建议使用使用Git的Windows不同的外壳程序(如PowerShell的)

+0

是的,我正在使用Git Bash,使用PowerShell安装目录能正常工作。 有什么办法可以使这个基于mingw的shell工作吗?我根本不熟悉PowerShell。 – Pedram