2016-11-08 55 views
0

我有一个相当老的虚拟机通过Vagrant实例化。我有我所有的开发堆栈。配置是这一个:两个vagrantfiles - 虚拟机通信

config.vm.box = "ubuntu/trusty64" 
    config.vm.network :forwarded_port, guest: 3389, host: 33389, id: "rdp", auto_correct: true 
    config.vm.network "private_network", ip: "192.168.33.10" 
    config.vm.hostname = "labs" 
    config.vm.provider "virtualbox" do |vb| 
    vb.memory = "4096" 
    vb.name = "labs" 
    end 

我已经生成了一个新的虚拟机通过流浪者测试以及但使用另一个流浪汉文件。配置是这一个:

s2.vm.box = "ubuntu/trusty64" 
s2.vm.hostname = 'backend' 
s2.vm.box_url = "ubuntu/precise64" 

s2.vm.network :private_network, ip: "192.168.56.102" 
s2.vm.network :forwarded_port, guest: 22, host: 10222, id: "ssh" 

s2.vm.provider :virtualbox do |v| 
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] 
    v.customize ["modifyvm", :id, "--memory", 1024] 
    v.customize ["modifyvm", :id, "--name", "backend"] 
end 

在这台服务器上,我有一个我想连接到我的第一个虚拟机的mongodb。

我可以给第二个VagrantFile带来什么改变,让第一个虚拟机可以访问VM?

或者,是否有另一个更明显和简单的解决方案

回答

3

你可以第二Vagrantfile IP地址到一些其他的ip这是第一个VM的网络改变。 你可以在第二Vagrantfile线以下变化:

s2.vm.network :private_network, ip: "192.168.56.102" 

s2.vm.network :private_network, ip: "192.168.33.11" 

,你可以在这个网络中指定任何空闲的IP,所以你将能够ping VM对方。

注意: 无需为多个虚拟机创建多个Vagrantfile。你可以为所有人创建一个单独的Vagrantfile。你可以参考我的另一个回答here创建单个Vagrantfile