2015-07-19 104 views
1

我在我的OS X本地主机上运行Docker。我创建了一个开发”机器,我试图运行在SSH命令到我的dev的机器:Docker-machine:如何正确执行ssh命令?

~$ docker-machine ssh dev -- ssh -o 'StrictHostKeyChecking no' \ 
    -i /Users/yves/.docker/machine/machines/dev/id_rsa \ 
    -N -L 5000:localhost:5000 [email protected] & 

我得到:

[1] 28171 
~$ exit status 255 

然后,我没有得到任何提示回来。我需要使用CTRL-C,我得到:

[1]+ Exit 1 docker-machine ssh dev -- ssh -o 'StrictHostKeyChecking 
no' -i /Users/yves/.docker/machine/machines/dev/id_rsa 
-N -L 5000:localhost:5000 [email protected] 

有没有办法正确执行它? (使用boot2docker更容易,因为要执行的命令被引用)。感谢您的反馈。

+0

'泊坞窗机ssh'恰恰有两个参数;你不需要把所有的东西放在引号后面吗? –

+0

似乎报价是不接受..需要使用 - 分隔符... 请参阅https://docs.docker.com/machine/子命令ssh(除非我读错了..) 如果命令你正在追加有标志,例如df -h,您可以使用标志解析​​终结符( - )来避免混淆docker-machine客户端,否则这些客户端会将它们解释为您打算传递给它的标志: – erwin

+0

好的。我有一个类似的问题,用引号包装是我得到它的唯一方法。 –

回答

1

你应该能够只使用引号即:

ssh dev "ssh -o 'StrictHostKeyChecking no' \ 
     -i /Users/yves/.docker/machine/machines/dev/id_rsa \ 
     -N -L 5000:localhost:5000 [email protected] &"