修改 Vagrantfile 初始化模板

使用 vagrant init 会生成一个 Vagrantfile 文件,但这个文件可能不符合我们预期,可通过如下操作定制默认初始化的 Vagrantfile 。


  • 创建新的模板文件:在任意路径下新建名为 Vagrantfile.min.erb 的文件并添加如下内容:
    •   # -*- mode: ruby -*-
        # vi: set ft=ruby :
        
        Vagrant.configure("2") do |config|
          config.vm.box = "<%= box_name %>"
          config.vm.box_url = "file://../common/metadata.json"
          config.vm.hostname = "go-env"
          config.ssh.username="echoxu"
          config.ssh.private_key_path = "C:\\Users\\echoxu\\.ssh\\id_rsa_vagrant"
          config.vm.network :forwarded_port, guest: 51888, host: 2256
          config.ssh.port = 2256
          config.ssh.guest_port = 51888
          config.vm.network "private_network", ip: "192.168.56.99", netmask: "255.255.255.0"
          config.vm.provider "virtualbox" do |vb|
        	vb.name = "go.env"
        	vb.memory = "1024"
        	vb.cpus = 1
          end
        end
      
  • 使用:vagrant init centos/7.9 --template "D:\work_Files\virtualbox_Files\vagrant_apps_config\common\Vagrantfile.min.erb"
  • 避免输入过长的路径名
    • 新建 VAGRANT_DEFAULT_TEMPLATE 环境变量,值为 D:\work_Files\virtualbox_Files\vagrant_apps_config\common\Vagrantfile.erb
    • 然后执行:vagrant init centos/7.9 就可按模板生成 Vagrantfile
  • 参考:
    • 默认模板文件本地路径:
      • Windows:D:\programFiles\vagrant\embedded\gems\2.2.18\gems\vagrant-2.2.18\templates\commands\initVagrantfile.min.erb
      • Linux:/opt/vagrant/embedded/gems/2.2.19/gems/vagrant-2.2.19/templates/commands/init/Vagrantfile.min.erb
    • 官方提供的 Vagrantfile 模板
    • vagrant-default-configuration
上次更新:
贡献者: iEchoxu