我想写一个Vagrantfile多机备份由多个供应商。我特别希望能够一次性产生多于一台这样的机器。基本上,我想要运行的命令: vagrant up vb_vm aws_vm
Vagrantfile多个VM和供应商
我知道--provider标志,但这将被应用到人丁所有机器,因此并不适用于我的情况。
这是我的(很下调,但仍然有效)Vagrantfile:
Vagrant.configure(2) do |config|
config.vm.define 'vb_vm' do |vb_vm|
vb_vm.vm.box='unbuntu/trusty64' # from hashicorp
vb_vm.vm.provider :virtualbox do |v|
end
end
config.vm.define 'aws_vm' do |aws_vm|
aws_vm.vm.box = "aws/dummy"
aws_vm.vm.box_url = 'https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box'
aws_vm.vm.provider :aws do |a, override|
a.access_key_id = 'something'
a.secret_access_key = 'something'
a.ami='something'
end
end
end
一个vagrant box list
显示,用于每个定义的框是正确的类型:
aws/dummy (aws, 0)
ubuntu/trusty64 (virtualbox, 20150928.0.0)
但vagrant status
给我(请注意,我有可用的LXC插件,这成为默认)
当前机器状态:
aws_vm not created (aws)
vb_vm not created (lxc)
因此,这表明产卵多个提供者的机器确实是可能的,但提供者的选择是错误的。
我知道的招数来设置默认提供的,但这只能使事情变得更糟(使用VirtualBox的到处都是,根本不使用AWS ...)
我所知道的老计算器问题,以及,但它们与更老版本的流浪者有关。
所以现在的问题是:我该如何确保定义的每个框使用其适当的供应商?
这是我所担心的。有一点,即使这个盒子是为正确的提供者定义的,你也需要添加--provider。但有用的技巧与停止/向上,谢谢! – Guillaume