Vagrant 重新使用流浪者档案制作的流浪者盒子

Vagrant 重新使用流浪者档案制作的流浪者盒子,vagrant,Vagrant,我克隆了一个repo,其中包括一个vagrant文件、一个需求文件和其他一些东西。我非常喜欢虚拟机,希望将其重新用于各种项目,所有这些项目都有自己的回购协议。与其配置每个新repo的源文件,并在重新克隆后删除无关文件,我想我可以只复制一个VM并重新使用它。我的基本工作流程是: $ git clone https://github.com/.../x.git Template $ cd Template $ vagrant up $ VBoxManage list vms $ vagrant pa

我克隆了一个repo,其中包括一个vagrant文件、一个需求文件和其他一些东西。我非常喜欢虚拟机,希望将其重新用于各种项目,所有这些项目都有自己的回购协议。与其配置每个新repo的源文件,并在重新克隆后删除无关文件,我想我可以只复制一个VM并重新使用它。我的基本工作流程是:

$ git clone https://github.com/.../x.git Template
$ cd Template
$ vagrant up
$ VBoxManage list vms
$ vagrant package --base Template_default_1394051969748_83660 --output ./template.box
$ vagrant box add template template.box virtualbox
现在我可以为一个项目创建一个新目录,运行
vagrant init
,然后编辑vagrant文件以使用模板框


我的问题很简单,那些在Vagrant方面比较有经验的人是否认为我做得太难了,或者说我忽略了Vagrant的要点。

答案取决于你对基本框所做的修改,提供这些修改所需的时间,修改的复杂性,以及修改后的设备的用户在每次“Wagrant up--provision”请求上等待资源调配的时间

如果您的修改很小并且在几秒钟内完成(例如,您的配方运行列表仅限于安装一些小型公共应用程序),则无需创建新的修改基本框。如果您的更改非常复杂、耗时,并且可能需要身份验证凭据,那么您可以通过预先设置修改的基本框来提供价值

您所做的选择可能因Vagrantfile而异


为了努力遵守这一原则,您可以使用封隔器规格声明修改后的衍生基础箱的配置。理想情况下,您不会让您的用户拥有一个虚拟机,如果他们无法访问您的个人知识,则无法重新创建该虚拟机。使用packer定制基本盒映像,创建修改后的基本盒,并提交packer规范、Vagrantfile和chef(或类似)配置脚本以更改管理。

使用配置和构建基本盒之间的界限不清楚。总的来说,做更适合你的工作流程,让你的生活更轻松的事情。我使用的是最基本的虚拟机,只有裸操作系统,并且有厨师烹饪书,可以根据项目配置一切。我知道很多人会选择另一种方式,使用一个“沉重”的基本设备,只提供依赖于虚拟机之外的东西的东西,比如windows/linux主机或配置,这取决于分配给来宾的IP。