Docker Machine可以ssh而不是scp

时间:2015-10-16 07:22:17

标签: docker scp docker-machine

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

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

我通过创建文件然后执行相同操作:

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

但我一直面临着身份1。

如果我做了相反的操作,并将文件上传到容器,我将面临状态为1的丢失连接。命令:

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

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

4 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

我昨天遇到了这个问题,今天找到了解决方法(或解决方案?)。这是特定于OS X Sierra以及撰写本文时最新的Docker和VirtualBox。

浏览docker docs(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-machine scp”能够按预期工作。我没有在其他地方发现这个解决方案。

我的系统细节粘贴在下面。希望这有助于那里的人。

OS

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

泊坞

客户端:  版本:17.05.0-ce  API版本:1.29  转到版本:go1.7.5  Git commit:89658be  建造:2017年5月4日星期四21:43:09  OS / Arch:darwin / amd64

服务器:  版本:17.05.0-ce  API版本:1.29(最低版本1.12)  转到版本:go1.7.5  Git commit:89658be  建造:2017年5月4日星期四21:43:09  OS / Arch:linux / amd64  实验:真的

的VirtualBox

版本5.1.22 r115126

答案 2 :(得分:0)

此呼叫对我有用:

scp xxx docker@192.168.99.100:~

默认密码为tcuser;或者,您也可以使用上面答案中指出的挂载点。

答案 3 :(得分:0)

如果要从主机复制到节点计算机,可以按照以下步骤操作:

sudo docker-machine scp node1:/ home / docker / receive /

这是将docker文件从主机复制到管理器节点的非常重要的命令。 Docker家伙,请将此命令添加到Docker文档中。