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