2

我正在尝试为我的团队创建一个自定义 vagrant box 以供使用。该盒子基于基本的CentOS-x64-6.4-virtualbox-guest-additions-and-chef盒子。我vagrant up的VM并在其上安装了一堆软件。安装好软件后,我创建了一个自定义的 Vagrantfile,然后将其打包vagrant package --output "my-custom-centos.box" --vagrantfile Vagrantfile并使其可用。

不幸的是,当您拉下共享框时,该框上映射到/vagrant当前工作目录的默认共享目录不起作用(文件夹为空)。此外,添加额外的自定义工作目录也没有效果。我似乎找不到任何关于如何最好地打包自定义无业游民框的好资源,也没有看到像共享目录这样的东西不起作用。任何帮助将不胜感激。

4

2 回答 2

0

我曾经尝试打包一个盒子并遇到各种问题……很难推测您遇到的确切问题,但根据我的经验,Vagrant 可能有点挑剔。

我发现最好只使用一个工作基础盒,并确保在配置脚本中包含需要安装的所有内容。

最简单的入门方法可能只是使用shell 配置程序,您可以从字面上让它运行您已经运行的所有相同命令。但是,如果您想以更强大的方式做事,您应该查看Chef,因为您使用的基本框已经包含它。

使用 Chef,您将能够以可重复和可扩展的方式在您的盒子上安装您需要的所有东西......一旦您了解它,它真的非常强大。

于 2013-06-06T10:06:57.020 回答
0

当你添加--vagrantfile Vagrantfile到你的包命令时,它会将盒子正在使用的 Vagrantfile 嵌入到包中。我认为最外面的 Vagrantfile 应该优先于其他文件。默认共享文件夹始终是您设置 box 的位置(您的 Vagrantfile 和 .vagrant 文件夹所在的位置),并且每次您从新位置启动 box 时都会更改。当我制作自定义框时,我将 Vagrantfile 放在包之外,并且没有遇到共享文件的任何问题。希望其中一些有所帮助。

于 2013-06-06T15:32:34.910 回答