更新Vagrant虚拟机中的IP地址

时间:2016-08-17 20:11:16

标签: vagrant virtual-machine

我有5个虚拟机,我使用vagrant旋转。

3 加载均衡器和 2 Web服务器。

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 - >更新了我的负载均衡器的IP 10.11.13.x由于新的要求。

我再次运行vagrant up在我的lb0lb1lb2上查看更新的新IP。 :(我错过了什么吗?

如何更新现有的虚拟机IP 而不必必须销毁它们并重新创建它们?

3 个答案:

答案 0 :(得分:3)

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已按预期更新。

答案 1 :(得分:1)

这很奇怪,通常如果您从Vagrantfile更改网络配置,vagrant应该在您的VM中相应更新。

如果您启用°之类的内容,则应在文件末尾config.vm.network :private_network, ip: "10.11.13.52"看到类似

的内容
/etc/network/interfaces

如果您在文件中未看到更新后的IP,请手动更改并运行#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

答案 2 :(得分:0)

使用可用的IP地址和vagrant reload更新您的Vagrantfile,以进行更改。