Ubuntu 两个文件-虚拟机通信

Ubuntu 两个文件-虚拟机通信,ubuntu,vagrant,virtualbox,Ubuntu,Vagrant,Virtualbox,我有一个通过Vagrant实例化的非常老的VM。我所有的开发堆栈都在上面。配置如下: 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.hostnam

我有一个通过Vagrant实例化的非常老的VM。我所有的开发堆栈都在上面。配置如下:

  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
我也通过Vagrant生成了一个新的VM进行测试,但是使用了另一个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
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连接到它

我可以对第二个文件进行哪些更改,以使第一个文件可以访问VM


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

您可以将第二个
虚拟机文件的ip地址更改为第一个虚拟机网络中的其他ip地址。
您可以在第二个
文件
中更改下一行:

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

您可以在此网络中分配任何免费ip,以便能够相互ping vm

注意:
无需为多个vm创建多个
Vagrantfile
。您可以为所有人创建一个
Vagrantfile
。您可以参考我的另一个答案来创建单个
Vagrantfile

您可以将第二个
Vagrantfile
的ip地址更改为第一个VM网络中的其他ip地址。 您可以在第二个
文件
中更改下一行:

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

您可以在此网络中分配任何免费ip,以便能够相互ping vm

注意: 无需为多个vm创建多个
Vagrantfile
。您可以为所有人创建一个
Vagrantfile
。您可以参考我的另一个答案来创建单个
Vagrantfile