为什么在vagrant中创建多个框时需要在指定的目录中

时间:2014-02-17 14:39:02

标签: virtualbox vagrant

我正在尝试创建多个框,以便在编写

时由vagrant加载
vagrant up kali
vagrant up metasploitable2

我设置的配置是

在Kali VagrantFile中

Vagrant.configure("1") do |config|

config.vm.define "kali" do |kali|
kali.vm.box = "Kali"
end
end

在Metasploitable2中

Vagrant.configure("1") do |config|

config.vm.define "metasploitable2" do |metasploitable2|
metasploitable2.vm.box = "metasploitable2"
end
end

如果我浏览.vmdk和Vagrantfile所在的目录并说

vagrant up kali 

它会创建kali图像,但如果我不在目录中,则不会加载VM。

有错误:

The machine with the name 'kali' was not found configured for
this Vagrant environment.

我打算假设这是因为它无法读取配置文件,但我怎样才能全局化,因为我认为你根本不应该修改'全局'流浪文件。

1 个答案:

答案 0 :(得分:1)

好吧,Vagrant必须找到Vagrantfile来读它,不是吗? =)

因此,您必须位于同一目录或其下的任何子目录中。或者,您可以将VAGRANT_CWD环境变量设置为指向目录。有关详细信息,请参阅Vagrantfile documentation中的“查找路径”部分。

如果您需要经常使用它,您当然可以制作包装脚本或其他快捷方式。

顺便说一句,您可能希望升级您的Vagrantfiles以使用V2 configuration format来使用Vagrant 1.1 +的所有新功能。