hashicorp/precise32
我按照 vagrant 文档的“入门”部分操作,并成功使用box 图像启动了虚拟机
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 框。
文档的哪一部分与创建第二台机器有关?我需要为此分离 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”已被注释掉,并添加了两个新框。为了调出这些框,您可以使用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`.