8

我开始使用 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

4 回答 4

7

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

于 2015-10-27T14:15:24.683 回答
2

这个电话对我有用:

scp xxx docker@192.168.99.100:~

默认密码是tcuser;或者,您可以使用上面答案中提到的挂载点。

于 2018-10-24T16:48:49.627 回答
1

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

通过 docker Getting Started 文档(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 手持的经典“scp”命令时,我将其追踪到我的 /etc/ssh/ssh_config。“scp”命令立即返回,抱怨以下不兼容的行:

GSSAPIKeyExchange no
GSSAPITrustDNS no

我将这些注释掉了,这缓解了问题,并且“docker-machine scp”能够按预期工作。我没有在其他地方找到这个解决方案。

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

操作系统

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

码头工人

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

服务器:版本:17.05.0-ce API 版本:1.29(最低版本 1.12) Go 版本:go1.7.5 Git 提交:89658be 构建:2017 年 5 月 4 日星期四 21:43:09 OS/Arch:linux/amd64 实验性:true

虚拟盒子

版本 5.1.22 r115126

于 2017-05-29T20:48:16.810 回答
0

如果您想从主机复制到节点机器,您可以按照以下步骤操作:

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

将 docker 文件从主机复制到管理器节点是一个非常重要的命令。码头工人请将此命令添加到码头工人文档中。

于 2020-04-19T05:02:55.993 回答