更新 Vagrant 虚拟机中的 IP 地址
update IP Address in Vagrant VMs
我有 5 个使用 vagrant 启动的虚拟机。
3 负载平衡器和 2 网络服务器。
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "lb0" do |lb0|
lb0.vm.box = "ubuntu/trusty64"
lb0.vm.hostname = "lb0"
lb0.vm.network :private_network, ip: "10.11.13.50"
end
config.vm.define "lb01" do |lb01|
lb01.vm.box = "ubuntu/trusty64"
lb01.vm.hostname = "lb01"
lb01.vm.network :private_network, ip: "10.11.13.51"
end
config.vm.define "lb02" do |lb02|
lb02.vm.box = "ubuntu/trusty64"
lb02.vm.hostname = "lb02"
lb02.vm.network :private_network, ip: "10.11.13.52"
end
config.vm.define "web01" do |web01|
web01.vm.box = "ubuntu/trusty64"
web01.vm.hostname = "web01"
web01.vm.network :private_network, ip: "10.11.12.53"
end
config.vm.define "web02" do |web02|
web02.vm.box = "ubuntu/trusty64"
web02.vm.hostname = "web02"
web02.vm.network :private_network, ip: "10.11.12.54"
end
end
由于新要求,我最近刚刚从 10.11.12.x
--> 10.11.13.x
更新了我的负载均衡器的 IP。
我再次 运行 vagrant up
,我 没有 在我的 lb0
、lb1
上看到更新的新 IP,和 lb2
。 :( 我错过了什么吗?
我该怎么做才能更新我现有的 VM IP 而不必 销毁它们并重新创建它们?
这很奇怪,通常如果您从 Vagrantfile 更改网络配置,vagrant 应该会在您的 VM 中进行相应更新。
如果启用类似 config.vm.network :private_network, ip: "10.11.13.52"
的内容,您应该会在文件 /etc/network/interfaces
的末尾看到类似
的内容
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto eth1
iface eth1 inet static
address 10.11.13.52
netmask 255.255.255.0
#VAGRANT-END
如果您没有在文件中看到更新后的 IP,请手动更改它并运行 sudo /etc/init.d/networking restart
以获得可用的新 IP
在Vagrantfile
中调整新IP后
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "lb0" do |lb0|
lb0.vm.box = "ubuntu/trusty64"
lb0.vm.hostname = "lb0"
lb0.vm.network :private_network, ip: "10.11.13.50"
end
config.vm.define "lb01" do |lb01|
lb01.vm.box = "ubuntu/trusty64"
lb01.vm.hostname = "lb01"
lb01.vm.network :private_network, ip: "10.11.13.51"
end
config.vm.define "lb02" do |lb02|
lb02.vm.box = "ubuntu/trusty64"
lb02.vm.hostname = "lb02"
lb02.vm.network :private_network, ip: "10.11.13.52"
end
config.vm.define "web01" do |web01|
web01.vm.box = "ubuntu/trusty64"
web01.vm.hostname = "web01"
web01.vm.network :private_network, ip: "10.11.12.53"
end
config.vm.define "web02" do |web02|
web02.vm.box = "ubuntu/trusty64"
web02.vm.hostname = "web02"
web02.vm.network :private_network, ip: "10.11.12.54"
end
end
我知道我必须 运行 vagrant reload
然后,我注意到我的 IP 已按预期更新。
使用可用的 ip 地址更新您的 Vagrantfile 并vagrant reload
使更改生效。
我有 5 个使用 vagrant 启动的虚拟机。
3 负载平衡器和 2 网络服务器。
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "lb0" do |lb0|
lb0.vm.box = "ubuntu/trusty64"
lb0.vm.hostname = "lb0"
lb0.vm.network :private_network, ip: "10.11.13.50"
end
config.vm.define "lb01" do |lb01|
lb01.vm.box = "ubuntu/trusty64"
lb01.vm.hostname = "lb01"
lb01.vm.network :private_network, ip: "10.11.13.51"
end
config.vm.define "lb02" do |lb02|
lb02.vm.box = "ubuntu/trusty64"
lb02.vm.hostname = "lb02"
lb02.vm.network :private_network, ip: "10.11.13.52"
end
config.vm.define "web01" do |web01|
web01.vm.box = "ubuntu/trusty64"
web01.vm.hostname = "web01"
web01.vm.network :private_network, ip: "10.11.12.53"
end
config.vm.define "web02" do |web02|
web02.vm.box = "ubuntu/trusty64"
web02.vm.hostname = "web02"
web02.vm.network :private_network, ip: "10.11.12.54"
end
end
由于新要求,我最近刚刚从 10.11.12.x
--> 10.11.13.x
更新了我的负载均衡器的 IP。
我再次 运行 vagrant up
,我 没有 在我的 lb0
、lb1
上看到更新的新 IP,和 lb2
。 :( 我错过了什么吗?
我该怎么做才能更新我现有的 VM IP 而不必 销毁它们并重新创建它们?
这很奇怪,通常如果您从 Vagrantfile 更改网络配置,vagrant 应该会在您的 VM 中进行相应更新。
如果启用类似 config.vm.network :private_network, ip: "10.11.13.52"
的内容,您应该会在文件 /etc/network/interfaces
的末尾看到类似
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto eth1
iface eth1 inet static
address 10.11.13.52
netmask 255.255.255.0
#VAGRANT-END
如果您没有在文件中看到更新后的 IP,请手动更改它并运行 sudo /etc/init.d/networking restart
以获得可用的新 IP
在Vagrantfile
中调整新IP后VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "lb0" do |lb0|
lb0.vm.box = "ubuntu/trusty64"
lb0.vm.hostname = "lb0"
lb0.vm.network :private_network, ip: "10.11.13.50"
end
config.vm.define "lb01" do |lb01|
lb01.vm.box = "ubuntu/trusty64"
lb01.vm.hostname = "lb01"
lb01.vm.network :private_network, ip: "10.11.13.51"
end
config.vm.define "lb02" do |lb02|
lb02.vm.box = "ubuntu/trusty64"
lb02.vm.hostname = "lb02"
lb02.vm.network :private_network, ip: "10.11.13.52"
end
config.vm.define "web01" do |web01|
web01.vm.box = "ubuntu/trusty64"
web01.vm.hostname = "web01"
web01.vm.network :private_network, ip: "10.11.12.53"
end
config.vm.define "web02" do |web02|
web02.vm.box = "ubuntu/trusty64"
web02.vm.hostname = "web02"
web02.vm.network :private_network, ip: "10.11.12.54"
end
end
我知道我必须 运行 vagrant reload
然后,我注意到我的 IP 已按预期更新。
使用可用的 ip 地址更新您的 Vagrantfile 并vagrant reload
使更改生效。