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

时间:2013-02-09 01:15:30

标签: windows-7 ssh virtualbox puppet vagrant

每当我尝试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"

2 个答案:

答案 0 :(得分:10)

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. This guy had some useful troubleshooting information.
  2. Vagrant Docs for Vagrantfiles
  3. Vagrant Docs for Vagrantfile SSH Timeout
  4. Vagrant Docs for Debugging
  5. Hours of Troubleshooting (Keep Smilin')

答案 1 :(得分:1)

我知道我迟到了这篇文章,但是在整整一天的时间里,我确实遇到了几乎完全相同的问题,然后才从Windows中删除Hyper-V,它神奇地解决了我的问题。

我猜想我在Windows上使用Docker进行测试时(不要与docker-machine混淆),它以某种方式破坏了我的Hyper-V。不能100%地确定为什么要进行调整以解决此问题,但是在Windows的Docker似乎对我的VirtualBox不满意(Windows的Docker和FlyWheel / VirtualBox的Local相互冲突)之后,它就像一个魅力一样工作。

enter image description here

希望这可以帮助某人!