我有一个很老的虚拟机通过Vagrant实例化。我有我所有的开发堆栈。配置是这样的:
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
我已经通过Vagrant生成了一个新的VM进行测试,但是使用了另一个Vagrantfile。配置是这样的:
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,我想连接到我的第一个VM。
我可以为第二个VagrantFile带来什么改变,让VM可以访问第一个?
或者,是否有另一个更明显和更简单的解决方案
答案 0 :(得分:3)
您可以将第二个Vagrantfile
的IP地址更改为第一个VM网络中的其他某个IP。
您可以在第二个Vagrantfile
中更改以下行:
s2.vm.network :private_network, ip: "192.168.56.102"
到
s2.vm.network :private_network, ip: "192.168.33.11"
您可以在此网络中分配任何免费的IP,这样您就可以互相ping vm。
注意:
无需为多个vm创建多个Vagrantfile
。你可以为所有人创建一个Vagrantfile
。您可以参考我的另一个答案here来创建单个Vagrantfile
。