Vagrant - 通过主机名从主机访问来宾

vul*_*ven 5 networking hostname static-ip vagrant

我有游民1.2.2安装在我的机器; 一台笔记本电脑。我在具有不同网络设置的三个不同环境中使用同一台笔记本电脑。

我的 VagrantFile 看起来像:

Vagrant.configure("2") do |config|
    config.vm.box = "lucid32"
    config.vm.network :forwarded_port, guest: 80, host: 88
    config.vm.network :forwarded_port, guest: 56789, host: 56789
    config.vm.network :public_network, :bridge => 'Intel(R) 82579V Gigabit Network Connection'
    config.vm.hostname = "web"
end
Run Code Online (Sandbox Code Playgroud)

它成功地将主机名设置为web无头 Ubuntu 中的主机名。

但是当我尝试web从主机操作系统 (Windows) ping 时,它无法解析 IP 地址。

当我搬到其他办公室时,我无法每次更改 Windows 中的主机文件,因为 C 类子网掩码和 IP 范围不同。

有没有办法通过主机名从主机访问来宾web

And*_*inn 5

为什么不也指定一个您的主机可以用来连接到 VM 的专用网络?

http://docs.vagrantup.com/v2/networking/private_network.html

无论您走到哪里,私有 IP 都将保持不变。然后,您可以为此私有 IP 添加主机条目。


vul*_*ven 4

按照 Andy 的建议,我创建了一个具有静态 IP 地址的专用网络。然后在 Windows 主机中,我使用该 IP 地址配置主机名。这样,我就可以从本地/主机操作系统访问网络服务器。

现在,在 VagrantFile 中,当我的主机的端口 88 被转发到访客的 80( config.vm.network :forwarded_port, guest: 80, host: 88) 时,我可以使用以下命令从本地 LAN 计算机访问网络服务器:http://host-computer-name:88/