我是Vagrant的新手,目前正在尝试从单个Vagrantfile设置VirtualBox和AWS盒子(使用vagrant-aws插件)。
我的Vagrantfile如下所示:
Vagrant.configure("2") do |config|
config.vm.define :web do |web_config|
web_config.vm.box = "dummy"
web_config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
web_config.vm.provider :aws do |aws|
aws.access_key_id = "ACCESS KEY"
aws.secret_access_key = "SECRET KEY"
end
end
config.vm.define :db do |db_config|
db_config.vm.box = "precise32"
db_config.vm.box_url = "http://files.vagrantup.com/precise32.box"
db_config.vm.provider :virtualbox do |vb|
end
end
end
因此,基本上,我正在尝试将AWS用于Web和将数据库用于网络。是否可以从单个Vagrantfile执行此操作?下面的vagrant up命令会创建并置备两个VM吗?
vagrant up --provider=aws
最佳答案
通过Basic Provider Usage判断
这确实是有可能的!但是您必须记住,不能跨提供者边界使用公共(public)和专用网络之类的功能(通常,请参阅Private Networks)。
关于问题的第二部分,我想您需要发出两个命令,对于多虚拟机环境中的每个提供程序都发出一个命令,但这只是一个猜测-关于提供程序和多虚拟机环境的官方文档很少。
关于amazon-web-services - 单个Vagrantfile可以同时具有AWS和VirtualBox提供程序吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15767766/