2016-11-08 43 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