我发现多个选项令人困惑,因此我决定测试所有选项以确切了解它们的作用。
我正在使用VirtualBox 4.2.16-r86992和Vagrant 1.3.3。
我创建了一个目录nametest并运行
vagrant init precise64 http://files.vagrantup.com/precise64.box
生成默认的Vagrantfile。然后,我打开VirtualBox GUI,以便可以看到我创建的框将显示为什么名称。
默认的Vagrantfile
Vagrant.configure('2') do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
end
VirtualBox GUI名称: “ nametest_default_1386347922”
注释: 名称默认为DIRECTORY_default_TIMESTAMP格式。
定义虚拟机
Vagrant.configure('2') do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.define "foohost"
end
VirtualBox GUI名称: “ nametest_foohost_1386347922”
注释: 如果您明确定义了VM,则使用的名称将替换令牌“ default”。这是控制台上的vagrant输出名称。根据zook的(注释器)输入进行简化
设置提供商名称
Vagrant.configure('2') do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.provider :virtualbox do |vb|
vb.name = "foohost"
end
end
VirtualBox GUI名称: “ foohost”
注释: 如果name在提供程序配置块中设置属性,则该名称将成为VirtualBox GUI中显示的完整名称。
组合的示例:定义VM并设置提供程序名称
Vagrant.configure('2') do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.define "foohost"
config.vm.provider :virtualbox do |vb|
vb.name = "barhost"
end
end
VirtualBox GUI名称: “ barhost”
注释: 如果您同时使用这两种方法,则name在提供程序配置块中分配的值将获胜。根据zook的(注释器)输入进行简化
套装hostname(奖金)
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.hostname = "buzbar"
end
注释:这将在VM内部设置主机名。这将是hostnameVM 中命令的输出,这也是在提示符()中可见的内容vagrant@,这里看起来像vagrant@buzbar
最终密码
Vagrant.configure('2') do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.hostname = "buzbar"
config.vm.define "foohost"
config.vm.provider :virtualbox do |vb|
vb.name = "barhost"
end
end
就是这样。现在,您知道可以设置的3个不同选项以及它们具有的效果。我想这是一个偏爱的问题吗?(我是Vagrant的新手,所以我还不能说出最佳实践。)