別の Vagrant マシンをプロビジョニングするにはどうすればいいですか?

別の Vagrant マシンをプロビジョニングするにはどうすればいいですか?

hashicorp/precise32私はVagrantドキュメントの「はじめに」セクションに従い、ボックスイメージを使用して仮想ボックスマシンを正常に起動しました。

vagrant init hashicorp/precise32
vagrant up

今、私は新しい64ビットUbuntuボックスを作成したいと思います。新しいボックスを正常に追加しました

$ vagrant box list
chef/ubuntu-13.10   (virtualbox, 1.0.0)
hashicorp/precise32 (virtualbox, 1.0.0)

ただし、vagrant up既存の hashicorp/precise32 ボックスのみが起動されます。

2 台目のマシンの作成に関連するドキュメントのセクションはどれですか? このために VagrantFile を分離する必要がありますか?

答え1

既存の Vagrantfile を編集して、別のボックスを追加できます。

例:

  # Every Vagrant virtual environment requires a box to build off of.
  # config.vm.box = "base"

  config.vm.define :centos6 do |node1|
    node1.vm.hostname = 'centos.internal'
    node1.vm.box      = 'centos-65-x64-virtualbox-nocm.box'
    node1.vm.box_url  = 'http://puppet-vagrant-boxes.puppetlabs.com/centos-65-x64-virtualbox-nocm.box'
    node1.vm.network :private_network, ip: "10.200.0.10"
  end

  config.vm.define :precise do |node2|
    node2.vm.hostname = "precise"
    node2.vm.box      = 'ubuntu-server-12042-x64-vbox4210-nocm.box'
    node2.vm.box_url  = 'http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box'
    node2.vm.network :private_network, ip: "10.200.0.11"
  end

これは、Vagrantfileから抜粋したセクションです。vagrant init

自動的に作成されたボックス「base」はコメントアウトされ、2つの新しいボックスが追加されました。これらのボックスを表示するには、vagrant up [boxname]たとえばを使用します。vagrant up centos6

引数を省略して だけを実行するとvagrant up、Vagrantfile で定義されている順序ですべてのボックス リストが表示されます。

Vagrantile 内のボックスの現在のステータスは、以下を使用して確認できますvagrant status

$ vagrant status
Current machine states:

centos6                   not created (vmware_fusion)
precise                   not created (vmware_fusion)

This environment represents multiple VMs. The VMs are all listed
above with their current state. For more information about a specific
VM, run `vagrant status NAME`.

関連情報