繁体   English   中英

当我在Windows 7命令行上使用“Vagrant Up”时,为什么Vagrant不会进入我的虚拟框?

[英]Why won't Vagrant ssh into my virtual box when I use `Vagrant Up` on Windows 7 command line?

每当我尝试Vagrant Up时,它会加载盒子并完成大部分工作,但是因为我正在尝试使用Puppet来配置这个CentOS 6.3最小化,我需要SSH在Vagrant Up期间工作(如果我希望它尽可能自主) 。

我从Vagrant的INFO日志中获得以下信息:

DEBUG virtualbox_4_2:   - [1, "ssh", 2222, 22]
 INFO ssh: Connecting to SSH: 127.0.0.1:2222
 INFO ssh: SSH not up: #<Timeout::Error: execution expired>
 INFO subprocess: Starting process: ["C:\\Program Files\\Oracle\\VirtualBox\\VBoxManage.exe", "showvminfo", "c2e7375d-159f-4014-9bda-ff9914423f4c", "--machinereadable"]
DEBUG subprocess: Selecting on IO
DEBUG subprocess: stdout: name="Vagrant-Apache-Nick_1360372174"

Vagrant Up期间,Windows系统会尝试连接到SSH。 如果您在命令行上键入:

set VAGRANT_LOG=INFO

您可能会看到它失败并尝试了几次。 它看起来像这样:

INFO ssh: Connecting to SSH: 127.0.0.1:2222

发生这种情况是因为超时设置为10.可以通过在Vagrantfile中放置以下内容来修改:

config.ssh.timeout = 300

您可以使用任何您喜欢的号码,但我推荐100以上的东西。

资料来源:

  1. 这家伙有一些有用的故障排除信息。
  2. Vagrant文​​件的流浪文件
  3. Vagrantfile SSH超时的Vagrant Docs
  4. 用于调试的Vagrant Docs
  5. 故障排除时间(Keep Smilin')

我知道我迟到了这篇文章,但在我从Windows中删除Hyper-V之前,我确实遇到了几乎完全相同的问题,它神奇地解决了我的问题。

我想当我使用Docker for Windows进行测试时(不要与docker-machine混淆),它以某种方式对我的Hyper-V进行了调整。 不是100%肯定为什么这个调整解决了这个问题,但是在Docker for Windows似乎使我的VirtualBox(由FlyWheel / VirtualBox相互冲突的Windows和本地Docker)之后,它就像一个魅力。

在此输入图像描述

希望这可以帮助别人!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM