2017-02-04 182 views
0

我有配置,必须始终存在于Vagrantfile中,当运行init时,不管框是什么。
例如,当我运行流浪汉init ubuntu/trusty64vagrant init centos/7这必须在这两个Vagrantfiles存在:vagrant默认配置

config.vm.provider "virtualbox" do |vb| 
    vb.memory = 2048 
end 

config.vm.provision "shell", inline: <<-SHELL 
    # obligatory provisioning goes here 
SHELL 

有什么办法我可以配置无业游民,所以当我运行vagrant init这行已经在Vagrantfile存在?

+0

哪条线? 'vb.memory = 2048'? –

+0

也许你最好的选择是使用一个Ruby模板,然后编写一个脚本来生成你的Vagrantfile。 –

+0

@黎平黄都。我需要虚拟机配置和配置。 – tsh

回答

0

默认情况下,你真的不能改变这种行为,不幸的是vagrant init不建议使用你自己的Vagrantfile(这将是整洁,但不存在)的选项。有两个模板(见https://github.com/mitchellh/vagrant/tree/master/templates/commands/init)可以使用,默认的和最小的一个。

你留下了以下选项:

  1. 覆盖默认模板Vagrantfile.erb

搜索系统中的文件(在Mac上应该取决于你的版本是/opt/vagrant/embedded/gems/gems/vagrant-1.9.1/templates/commands/init/Vagrantfile.erb的地方)和改变它到你需要的东西。

  • 您可以将应用到所有Vagrantfiles的.vagrant.d目录下的全球Vagrantfile。请参阅负载订购与合并 in vagrantfile documentation

  • 用新命令编写一个插件来创建Vagrantfile。这可能是矫枉过正

  • +0

    谢谢,我结束了第二个选项。 也许有人会发现它有帮助: 因为我向'〜/ .vagrant.d/Vagrantfile'添加了一些代码,但是它并没有在'vagrant init'后面改变生成的Vagrantfile。但是,尽管如此,所有的变化都在'流浪'之后产生了影响。 – tsh