如何打包 vagrantfile 以便在框上调用 'vagrant init' 时使用它?

How do I package a vagrantfile so that it is used when 'vagrant init' is called on the box?

我知道这是一个愚蠢的问题,我仍在努力理解 vagrant。

我 运行 在 windows 主机上流浪,我正在使用 VirtualBox 构建 Linux 来宾虚拟机。我的访客虚拟机是 运行ning,现在我想打包它。

Vagrant 文档说 "A common misconception is that the --vagrantfile option will package a Vagrantfile that is used when vagrant init is used with this box. This is not the case. Instead, a Vagrantfile is loaded and read as part of the Vagrant load process when the box is used. For more information, read about the Vagrantfile load order."

知道了。但这就是我想做的!当我 运行 "vagrant package --output myboxname.box" 时,我精心制作的 Vagrant 文件似乎不在包中。我测试盒子如下(在Windows,复制新盒子后):

cd \some_new_dir
vagrant box add myboxname.box --name boxname
vagrant init boxname

新的 Vagrantfile 是通用的 vagrant 版本,包含 none 我的更改。

当我

vagrant up

vm 正常运行,但是(毫不奇怪)none 的 Vagrantfile 指令发生了。

我知道我缺少一些基本的东西 -- 有人可以帮我吗?

尝试将 Vag运行t 文件从您 运行 vagrant package 的目录复制到 \some_new_dir 目录。然后,在没有 运行ning vagrant init 的情况下(因为这将用空文件覆盖 Vag运行t 文件),运行 vagrant up 使用 Vag运行tfile.