vagrant /etc/hosts:机器IP与本地主机

num*_*web 5 hosts virtual-hosts vagrant vagrantfile vagrant-provision

我有一台 vagrant 机器,其 IP 地址如下:

Vagrant.configure("2") do |config|
    config.vm.network :private_network, ip: 192.168.33.11
    config.vm.network "forwarded_port", guest: 80, host: 8080
    config.vm.hostname = "my-devenv"
...
end
Run Code Online (Sandbox Code Playgroud)

一切都很好。但我对虚拟机上的 /etc/hosts 文件感到困惑:使用 localhost 和虚拟机的 IP(127.0.0.1 some-dev-site.dev vs 192.168.33.11 some-dev-site.dev)有什么区别?

127.0.0.1 localhost
127.0.0.1 some-dev-site.dev
192.168.33.11 some-dev-site.dev
Run Code Online (Sandbox Code Playgroud)

Jør*_*gen 4

一般的

本地主机通常在不同的计算机上始终相同:127.0.0.1(本地环回),VM IP 是“网络”上的外部 IP。例如,您可以通过访问 VM IP 从您的计算机连接到您的 VM,但如果您从您的计算机连接到 localhost 到 VM,您最终会在自己的计算机上。

如果您将服务绑定到 127.0.0.1,您将无法从“机器”的“外部”访问它。

如果您想了解更多信息,这可能提供更好的解释: https://www.lifewire.com/network-computer-special-ip-address-818385

更具体地针对您的情况

不确定我是否正确理解您的问题,但我猜您的问题是:虚拟机的 /etc/hosts 中的主机名是什么?这是因为它们不存在于 DNS 中,如果您要连接到这些主机,它需要最终到达正确的位置,在本例中就是虚拟机本身。