2

我已经在我的 Window XP 中安装了 Vagrant,在我的 Vagrantfile 中我有:

Vagrant::Config.run do |config|
  # Setup the box
  config.vm.box = "lucid32"
  config.vm.forward_port 80, 8080
  config.vm.network :hostonly, "192.168.10.200"
end

但是当我在浏览器中输入“ http://192.168.10.200:8080 ”时,我看不到我的流浪框的迹象。

虚拟盒子的 IP 地址是正确的,因为在 vbox 中,我有:

vagrant@lucid32:~$ ifconfig
....
eth1      Link encap:Ethernet  HWaddr 08:00:27:79:c5:4b
          inet addr:192.168.10.200  Bcast:192.168.10.255  Mask:255.255.255.0

似乎没有防火墙问题,因为如果我输入

vagrant@lucid32:~$ curl 'http://google.com'

它工作正常。

我已阅读Vagrant 的端口转发不起作用 并尝试过:

vagrant@lucid32:~$ curl 'http://localhost:80'
curl: (7) couldn't connect to host

并且

vagrant@lucid32:~$ curl 'http://localhost:8080'
curl: (7) couldn't connect to host

所以,看起来端口转发不起作用......

如果你知道我能做什么,我可以从主机浏览器访问我的 vbox,你能帮我吗?

提前致谢

4

2 回答 2

5

如果你只是用这个启动了一个 Vagrant 盒子Vagrantfile,那只不过是一个空的 Ubuntu Lucid,它还没有运行任何服务。所以端口上没有任何服务80,这就是为什么从端口上的盒子内部80或主机上都看不到任何东西的原因8080

为了让您的 Vagrant 机器提供一些服务(例如端口上的 Web 服务器80),您必须进行一些配置。您可以手动完成,也可以使用与 Vagrantup进程挂钩的 Chef 或 Puppet。

于 2012-05-21T17:55:03.550 回答
0

我有一个类似的问题。有时对低于 2000 的端口使用端口转发是一个问题。对我有用的是选择高于 2000 的端口。所以我的 vagrantfile 现在看起来像:

config.vm.network :forwarded_port, host: 4500, guest: 9000

在我的主机上键入 localhost:4500 现在可以正常工作了。看来您使用的 vagrant 版本比我的版本旧,因此您可以将 vagrant 文件编辑为类似

config.vm.forward_port 9000, 4500

现在在您的主机上键入 localhost:4500 应该可以正常工作。

祝你好运,

于 2014-02-03T12:47:27.940 回答