2016-05-31 32 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