单个流浪文件中的多个提供者?

jbr*_*own 8 vagrant vagrantfile

我有一个用于构建本地VM的vagrant文​​件.我想添加EC2提供程序,并可以选择配置本地VM或EC2上的VM.

我可以在同一个Vagrantfile中为多个提供程序创建配置,并以某种方式选择在我执行时运行哪些提供程序vagrant up

cmu*_*ur2 8

您可以使用虚拟机环境,其中每个虚拟机都可以使用不同的提供商进行配置,您可以在命令行中选择您想要的虚拟机vagrant up <machine>.

  • 对于未来的读者:我编辑了这个问题,称他们为"提供者"而不是"供应者". (2认同)

小智 5

为每个提供商添加框

> vagrant box add precise64 http://file.vagrantup.com/precise64.box
> vagrant box add precise64 http://file.vagrantup.com/precise64_vmware_fusion.box
Run Code Online (Sandbox Code Playgroud)

而你的Vagrantfile应该是这样的

Vagrant.configure(2) do |config|
  config.vm.box="precise64"

  config.vm.provider "virtualbox" do |v|
    v.customize ["modifyvm", :id, "--memory", "2048"]
  end

  config.vm.provider "vmware_fusion" do |v|
    v.vmx["memsize"] = "2048"
  end
end
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令在每个提供程序上创建

> vagrant up --provider=virtualbox
> vagrant up --provider=vmware_fusion
Run Code Online (Sandbox Code Playgroud)