我应该在 Vagrant 文件中添加什么来防止询问(在 vagrant up 命令之后)
网络应桥接到哪个接口?
Available bridged network interfaces:
1) Intel(R) 82579LM Gigabit Network Connection
2) VMware Virtual Ethernet Adapter for VMnet1
3) VMware Virtual Ethernet Adapter for VMnet8
我想选择#1 选项。 目前我需要手动输入“1”。 请帮忙!
在你的 Vagrantfile 中,你应该添加
config.vm.network "public_network", bridge: "Intel(R) 82579LM Gigabit Network Connection"
然后它应该让 vagrant 高兴(实际上,在这种情况下,VirtualBox 更高兴)并为虚拟机选择正确的网络适配器
对于 Linux,我使用该文件是 Ruby 脚本的事实来检测默认路由并使用该接口的名称。 这使得我们整个团队可以按原样使用 Vagrantfile,而无需硬编码接口名称或不断更新列表。 我想你可以在 Windows 或 Mac 上做类似的事情(猜测 Mac 实际上可能是相同的,因为它是 *nix)。
请注意,如果未检测到默认网络接口,系统仍会提示您选择一个。
# Grab the name of the default interface
$default_network_interface = `ip route | awk '/^default/ {printf "%s", $5; exit 0}'`
...
Vagrant.configure("2") do |config|
# Specify the interface when creating the public network
config.vm.network "public_network", bridge: "#$default_network_interface"
...
end
您实际上可以提供一系列桥接器,Virtualbox 将循环浏览它们,直到找到可以使用的桥接器列表。按照您希望如何尝试的顺序排列这些:
例如在我的 OSX Macbook 上:
config.vm.network "public_network", bridge: [
"en0: Wi-Fi (AirPort)",
"en1: Wi-Fi (AirPort)",
]
所以在你的情况下:
config.vm.network "public_network", bridge: [
"Intel(R) 82579LM Gigabit Network Connection",
"VMware Virtual Ethernet Adapter for VMnet1",
"VMware Virtual Ethernet Adapter for VMnet8",
]
我只是从 vagrant 配置文件中取出 config.vm.network :public_network 。
vagrant 启动时没有问我关于连接到互联网的桥接接口的奇怪问题。