Docker机器可以使用ssh,但不能使用scp
我开始使用Docker机器,我刚刚看到有一个scp命令。 正如文件所说:Docker机器可以使用ssh,但不能使用scp,docker,scp,docker-machine,Docker,Scp,Docker Machine,我开始使用Docker机器,我刚刚看到有一个scp命令。 正如文件所说: $docker machine ssh dev'回显远程创建的文件!>foo.txt' $docker machine scp dev:/home/docker/foo.txt. 我也创建了一个文件,然后: docker机器scp默认值:/home/docker/test.txt。 但我一直面临着状态1 如果我做了相反的操作,并将文件上载到容器中,我将面临与状态1的连接丢失。命令: docker-machine scp m
$docker machine ssh dev'回显远程创建的文件!>foo.txt'
$docker machine scp dev:/home/docker/foo.txt.
我也创建了一个文件,然后:
docker机器scp默认值:/home/docker/test.txt。
但我一直面临着状态1
如果我做了相反的操作,并将文件上载到容器中,我将面临与状态1的连接丢失。命令:
docker-machine scp mongo.tar default:mongo.tar
请假设我不是ssh和scp方面的专家。如果您在Windows上从docker Toolbox运行docker machine,则有一个自动装入的卷,您可以在其中访问主机文件系统。默认情况下,虚拟机的装载点是/c/Users/我昨天遇到了这个问题,今天找到了一个解决方法(或解决方案?)。这是针对OS X Sierra和截至本文撰写之时的最新Docker和VirtualBox的 通过docker Getting Started docs(),命令:
docker-machine scp docker-compose.yml myvm1:~
他立即返回:
Lost connection
Exit Status 1
最后,当我在没有docker机器ssh手持的情况下尝试一个经典的“scp”命令时,我跟踪到了我的/etc/ssh/ssh_配置。“scp”命令立即返回,抱怨以下不兼容行:
GSSAPIKeyExchange no
GSSAPITrustDNS no
我把这些注释掉了,这就缓解了问题,“docker machine scp”能够按预期工作。我没有在别处找到这个解决方案
我的系统细节粘贴在下面。希望这能帮助其他人
操作系统
OS X塞拉酒店
系统版本:macOS 10.12.3(16D32)
内核版本:Darwin16.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
实验性的:真的
虚拟机
版本5.1.22 r115126此呼叫对我有效:
scp xxxdocker@192.168.99.100:~
默认密码是
tcuser
;或者,您可以使用上面答案中提到的装载点。如果您想从主机复制到节点计算机,您可以按照以下步骤操作:
sudo docker机器scp节点1:/home/docker/receive/
将docker文件从主机复制到manager节点是一个非常重要的命令。Docker伙计们,请将此命令添加到Docker文档中。对于第二个测试,您可以尝试指定完整路径吗<代码>默认值:/full/path/to/mongo.tar
docker machine scp mongo.tar默认值:/home/docker/mongo.tar
输出相同的结果(与状态1的连接中断)docker machine日志显示了什么?(可能在“.docker\machine\machines\default\default\Logs”中)在VBox.log中,没有什么特别的。最后一行是:00:00:36.451922 VMMDev:Guest Log:00:00:10.010830 vminfo错误:无法连接到系统D-Bus(3/3):D-Bus未安装
,但我看不到任何与scp相关的内容谢谢,这对docker机器13.0中的scp被破坏有很大帮助。请解释一下为什么这样做?此外,通常不建议发布服务器IP和密码;这里我们只需要一个默认的用户名(不是总是这样的)。当然,作为OP,您最有能力理解发布此类信息的任何风险(我怀疑这里发布的信息都不是私人的)。尽管如此,以防你不熟悉,这是需要注意的。我检查过了,而且特定的服务器确实有防火墙过滤所有端口。@Greenstick谢谢你的建议。我知道在这里发布服务器IP和密码很危险,所以我只发布了一个公共密码和一个内网IP,我认为这对我和其他人来说都很安全。我只是想帮助其他人解决这个问题,至少这是一个解决方案。尽管如此,我会对此更加小心。再次感谢您的修改和有用的建议。我之所以这么做是因为它在docker环境中,而不是docker机器中。