我安装了 VirtualBox,然后在其中安装了 Ubuntu 12.10 Server Base OS。我在里面安装了各种php包和其他包。我的朋友推荐我使用 Vagrant,这样我就可以轻松地与我的队友分享我的设置。
因为我当前的 VirtualBox VM 不是使用创建的vagrant up
,我不知道如何包装它。这文档 http://docs.vagrantup.com/v1/docs/getting-started/packaging.html在 Vagrant 上谈论包装,但首先说:
在完成本页的其余部分之前,请确保虚拟
环境是通过运行vagrant up来构建的。
就我而言,我现有的虚拟机最初并不是使用 vagrant up 创建的。
如何打包现有的虚拟机?
需要认识到的重要一点(vagrant 文档对此并不太清楚)是包装有两种“风格”:
- The “入门”中的包装指南 http://docs.vagrantup.com/v1/docs/getting-started/packaging.html你指的是假设你是从一个流浪的基础盒子开始的并初始化它
vagrant up
,而你还没有。这可以让您将您对 vagrant base box 所做的任何自定义打包.
- 如果您从头开始或从“普通”VirtualBox VM 开始,就像您所做的那样,您需要创建一个流浪者基地盒 http://docs.vagrantup.com/v1/docs/base_boxes.html。你应该没问题guide http://docs.vagrantup.com/v1/docs/base_boxes.html,它是基于Ubuntu的。
有一个从头开始创建流浪盒的详细指南 http://pyfunc.blogspot.co.uk/2011/11/creating-base-box-from-scratch-for.html使用 Oracle Enterprise Linux,这可能会有所帮助。你也可以尝试VeeWee https://github.com/jedi4ever/veewee.
或者,您可以从Ubuntu 12.10 基础盒 http://vagrantbox.es并移植您的自定义项,在这种情况下,您可以使用更简单的第一种打包方式。
Update
以上指的是Vagrant 1.0。 1.1 中情况略有变化,特别是文档已被重写:
- The
vagrant package
command http://docs.vagrantup.com/v2/cli/package.html允许您打包您对现有 vagrant base box 所做的任何自定义设置与 1.0 中的方式相同。
- The 使用 VirtualBox 创建基础盒的文档 http://docs.vagrantup.com/v1/docs/base_boxes.html在 1.1 中已被删除,但是docs http://docs.vagrantup.com/v2/boxes.html建议流程保持不变,但现在增加了一个
metadata.json
file 是必须的 http://docs.vagrantup.com/v2/boxes/format.htmlVagrant 1.1 支持多个提供商 http://docs.vagrantup.com/v2/providers/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)