8

ローカル VM を構築する vagrant ファイルがあります。EC2 プロバイダーを追加し、ローカル VM をプロビジョニングするか、EC2 でプロビジョニングするかを選択できるようにしたいと考えています。

同じ Vagrantfile で複数のプロバイダーの構成を作成し、実行するときにどのプロバイダーを実行するかを何らかの方法で選択できますvagrant upか?

4

7 に答える 7

6

各プロバイダのボックスを追加

> vagrant box add precise64 http://file.vagrantup.com/precise64.box
> vagrant box add precise64 http://file.vagrantup.com/precise64_vmware_fusion.box

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

次に、次のコマンドを使用して各プロバイダーで作成します

> vagrant up --provider=virtualbox
> vagrant up --provider=vmware_fusion
于 2016-01-20T11:03:05.453 に答える
-1

config.vm.defineはい、メソッド呼び出しを使用して複数のマシンを指定できます。次に例を示します。

Vagrant.configure("2") do |config|
  config.vm.provision "shell", inline: "echo Hello"

  config.vm.define "web" do |web|
    web.vm.box = "apache"
  end

  config.vm.define "db" do |db|
    db.vm.box = "mysql"
  end
end

参照: Vagranup Docs and Providersで複数のマシンを定義する

于 2016-06-10T23:20:14.370 に答える