我开始使用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的专家。
答案 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 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 实验:真的
版本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文档中。