Vagrant 客户机之间的漫游通信
我有多台流浪机器,比如:Vagrant 客户机之间的漫游通信,vagrant,virtualbox,vagrantfile,Vagrant,Virtualbox,Vagrantfile,我有多台流浪机器,比如: config.vm.define 'vagrant1' do |vagrant1| config.vm.provider :virtualbox do |vb| vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on'] end vagrant1.vm.box = 'ubuntu/trusty64' vagrant1.vm.network 'forwarded
config.vm.define 'vagrant1' do |vagrant1|
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
end
vagrant1.vm.box = 'ubuntu/trusty64'
vagrant1.vm.network 'forwarded_port', guest: 80, host: 8080
vagrant1.vm.network 'forwarded_port', guest: 443, host: 8443
vagrant1.vm.network 'forwarded_port', guest: 27017, host: 27017
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network 'private_network', ip: '192.168.56.11'
ENV['LC_ALL']='en_US.UTF-8'
end
config.vm.define 'vagrant2' do |vagrant2|
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
end
vagrant2.vm.box = 'ubuntu/trusty64'
vagrant2.vm.network 'forwarded_port', guest: 80, host: 8081
vagrant2.vm.network 'forwarded_port', guest: 443, host: 8444
vagrant2.vm.network 'forwarded_port', guest: 27017, host: 27018
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network 'private_network', ip: '192.168.56.12'
ENV['LC_ALL']='en_US.UTF-8'
end
我希望vagrant1
机器能够与vagrant2
机器通信。到目前为止,我可以从我的主机连接,但来宾计算机彼此无法访问
如何启用来宾计算机之间的通信?尝试一起定义框
Vagrant.configure("2") do |config|
config.vm.define 'vagrant1' do |vagrant1|
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
end
vagrant1.vm.box = 'ubuntu/trusty64'
vagrant1.vm.network 'forwarded_port', guest: 80, host: 8080
vagrant1.vm.network 'forwarded_port', guest: 443, host: 8443
vagrant1.vm.network 'forwarded_port', guest: 27017, host: 27017
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network 'private_network', ip: '192.168.56.11'
ENV['LC_ALL']='en_US.UTF-8'
end
config.vm.define 'vagrant2' do |vagrant2|
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
end
vagrant2.vm.box = 'ubuntu/trusty64'
vagrant2.vm.network 'forwarded_port', guest: 80, host: 8081
vagrant2.vm.network 'forwarded_port', guest: 443, host: 8444
vagrant2.vm.network 'forwarded_port', guest: 27017, host: 27018
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network 'private_network', ip: '192.168.56.12'
ENV['LC_ALL']='en_US.UTF-8'
end
end
尝试一起定义框
Vagrant.configure("2") do |config|
config.vm.define 'vagrant1' do |vagrant1|
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
end
vagrant1.vm.box = 'ubuntu/trusty64'
vagrant1.vm.network 'forwarded_port', guest: 80, host: 8080
vagrant1.vm.network 'forwarded_port', guest: 443, host: 8443
vagrant1.vm.network 'forwarded_port', guest: 27017, host: 27017
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network 'private_network', ip: '192.168.56.11'
ENV['LC_ALL']='en_US.UTF-8'
end
config.vm.define 'vagrant2' do |vagrant2|
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
end
vagrant2.vm.box = 'ubuntu/trusty64'
vagrant2.vm.network 'forwarded_port', guest: 80, host: 8081
vagrant2.vm.network 'forwarded_port', guest: 443, host: 8444
vagrant2.vm.network 'forwarded_port', guest: 27017, host: 27018
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network 'private_network', ip: '192.168.56.12'
ENV['LC_ALL']='en_US.UTF-8'
end
end
好的,我发现了这个错误-您错误地使用了config变量,您编写为
config.vm的所有内容。
对所有虚拟机都有效,即使它在一个块内,所以在您的示例中,它创建了多个网络接口
因此,您的Vagrant文件的简化版本可以写成
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = 'ubuntu/trusty64'
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
end
config.vm.define 'vagrant1' do |vagrant1|
vagrant1.vm.network 'private_network', ip: '192.168.56.11'
ENV['LC_ALL']='en_US.UTF-8'
end
config.vm.define 'vagrant2' do |vagrant2|
vagrant2.vm.network 'private_network', ip: '192.168.56.12'
ENV['LC_ALL']='en_US.UTF-8'
end
end
注意:当您使用静态IP时,您不需要转发端口,因为您可以直接从IP访问。好的,我发现了错误-您错误地使用了配置变量,您以
config.vm写入的所有内容。
对所有虚拟机都有效,即使它在一个块内,所以在您的情况下,它创建了多个网络接口
因此,您的Vagrant文件的简化版本可以写成
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = 'ubuntu/trusty64'
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
end
config.vm.define 'vagrant1' do |vagrant1|
vagrant1.vm.network 'private_network', ip: '192.168.56.11'
ENV['LC_ALL']='en_US.UTF-8'
end
config.vm.define 'vagrant2' do |vagrant2|
vagrant2.vm.network 'private_network', ip: '192.168.56.12'
ENV['LC_ALL']='en_US.UTF-8'
end
end
注意:当您使用静态IP时,您不需要转发端口,因为您可以直接从IP访问哦,我忘了提到这些端口是在相同的
Vagrant.configure(VAGRANTFILE\u API_VERSION)do | config |
block.oh!嗯,那我就不确定了。用户可能会说,这在您配置的方式中是可能的。你实际上是如何测试它的?在SSH连接到第一台机器之后ping第二台机器的静态IP哦,我忘了提到它们是在同一个Vagrant.configure(VAGRANTFILE\u API_版本)do | config |
block.Oh中定义的!嗯,那我就不确定了。用户可能会说,这在您配置的方式中是可能的。您实际上是如何测试它的?在SSH连接到第一台机器后ping第二台机器的静态IP这是您的virtualbox版本,您能确认在guest上添加了guest吗?我只是使用vbox 5.1.10和vagrant 1.9.2快速进行了测试-它工作正常,可以ping 192.168.56.12
来自vagrant 1,反之亦然versa@FrédéricHenri 5.1.10 VBox和Vagrant安装版本:1.9.0。我用了https://github.com/dotless-de/vagrant-vbguest
阅读您的评论后立即安装来宾添加。没有帮助。你的virtualbox版本是什么?你能确认你在guest上添加了guest吗?我只是使用vbox 5.1.10和vagrant 1.9.2快速进行了测试-它工作正常,可以ping 192.168.56.12
来自vagrant 1,反之亦然versa@FrédéricHenri 5.1.10 VBox和Vagrant安装版本:1.9.0。我用了https://github.com/dotless-de/vagrant-vbguest
阅读您的评论后立即安装来宾添加。没有帮助。