docker机可以ssh但不是scp

我开始使用Docker Machine,我刚看到有一个scp命令。 就像文件说的那样:

$ docker-machine ssh dev 'echo A file created remotely! >foo.txt' $ docker-machine scp dev:/home/docker/foo.txt .

我做了同样的创build一个文件,然后:

docker-machine scp default:/home/docker/test.txt .

但我仍然面临着一个地位1。

如果我做了相反的事情,并上传一个文件到容器,我面临着状态1失去连接。命令:

 docker-machine scp mongo.tar default:mongo.tar 

请假设我不是ssh和scp的专家。

如果您在Windows上运行Docker Toolbox中的docker-machine,则会有一个自动安装的卷,您可以在其中访问主机文件系统。 默认情况下,虚拟机的挂载点是/ c / Users /。

我昨天遇到了这个问题,今天发现了一个解决方法(或解决scheme?)。 这是本文写作时特定于OS X Sierra和最新的Docker和VirtualBox。

通过docker入门文档( https://docs.docker.com/get-started/part4/#create-a-cluster ),命令:

 docker-machine scp docker-compose.yml myvm1:~ 

马上回来:

 Lost connection Exit Status 1 

最后,当我试图在没有docker-machine ssh handholding的情况下使用经典的“scp”命令时,我将其跟踪到了/ etc / ssh / ssh_config。 “scp”命令立即返回,抱怨下列不兼容的行:

 GSSAPIKeyExchange no GSSAPITrustDNS no 

我评论说,这解决了问题,“docker机scp”能够按预期工作。 我没有在其他地方发现这个解决scheme。

我的系统细节粘贴在下面。 希望这可以帮助那里的人。

OS

OS X Sierra系统版本:macOS 10.12.3(16D32)内核版本:Darwin 16.4.0

docker

客户端:版本:17.05.0-ce API版本:1.29 Go版本:go1.7.5 Git commit:89658be内置:Thu May 4 21:43:09 2017 OS / Arch:darwin / amd64

服务器:版本:17.05.0-ce API版本:1.29(最低版本1.12)Go版本:go1.7.5 Git commit:89658be内置:Thu May 4 21:43:09 2017 OS / Arch:linux / amd64实验:true

VirtualBox的

版本5.1.22 r115126