我想让机器使用另一个 IP:
# Port forwarding
config.vm.network "private_network", ip: "127.0.100.20"
config.vm.network "forwarded_port", host_ip: "127.0.100.20", guest: 22, host: 47022
config.vm.network "forwarded_port", host_ip: "127.0.100.20", guest: 80, host: 47080
config.vm.network "forwarded_port", host_ip: "127.0.100.20", guest: 443, host: 47443
但 Vagrant 仍然尝试使用默认 IP:
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:47022
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection refused. Retrying...
default: Warning: Connection refused. Retrying...
default: Warning: Connection refused. Retrying...
default: Warning: Connection refused. Retrying...
default: Warning: Connection refused. Retrying...
default: Warning: Connection refused. Retrying...
我怎样才能告诉 Vagrant 该机器已绑定到另一个 IP?
答案1
基于以下事实:
默认情况下,VirtualBox 是 Vagrant 的默认提供程序。VirtualBox 仍然是使用 Vagrant 最方便的平台:它是免费的、跨平台的,并且多年来一直受到 Vagrant 的支持。使用 VirtualBox 作为默认提供程序,它为新用户开始使用 Vagrant 提供了最低的阻力。
我得出结论,您需要在配置文件中添加以下行。
virtualbox__intnet: true
根据以下陈述。
Vagrant VirtualBox 提供程序支持将私有网络用作 VirtualBox 内部网络。默认情况下,私有网络是仅主机网络,因为它们最容易使用。但是,也可以启用内部网络。
要将私有网络指定为 VirtualBox 的内部网络,请使用网络的 virtualbox__intnet 选项。virtualbox__(双下划线)前缀告诉 Vagrant 此选项仅适用于 VirtualBox 提供程序。