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

Nic*_*ick 6 ssh virtualbox puppet windows-7 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"
Run Code Online (Sandbox Code Playgroud)

Nic*_*ick 10

Vagrant UpWindows系统尝试连接到SSH期间.如果您在命令行上键入:

set VAGRANT_LOG=INFO
Run Code Online (Sandbox Code Playgroud)

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

INFO ssh: Connecting to SSH: 127.0.0.1:2222
Run Code Online (Sandbox Code Playgroud)

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

config.ssh.timeout = 300
Run Code Online (Sandbox Code Playgroud)

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

资料来源:

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

  • 感谢您设置VAGRANT_LOG = INFO.这是金子! (3认同)