我正在尝试创建一个自定义的流浪盒供我的团队使用。该框基于基础 CentOS-x64-6.4-virtualbox-guest-additions-and-chef 框。我vagrant up
VM并在其上安装了一堆软件。有了这个软件,我创建了一个自定义的Vagrantfile,然后打包了vagrant package --output "my-custom-centos.box" --vagrantfile Vagrantfile
的框并使其可用。
不幸的是,事实证明,当您下拉共享框时,将框上的/vagrant
映射到当前工作目录的默认共享目录不起作用(文件夹为空)。此外,添加其他自定义工作目录也无效。我似乎找不到任何好的资源,如何最好地打包自定义流浪盒,并没有看到任何像共享目录不工作。任何帮助将不胜感激。
答案 0 :(得分:0)
我尝试打包一次,遇到各种各样的问题......有点难以推测你遇到的确切问题,但根据我的经验,Vagrant可能有点挑剔。
我发现最好只使用工作基础盒,并确保包含需要在配置脚本中安装的所有内容。
最简单的入门方法可能只是使用shell provisioner,您可以在其中运行所有已运行的相同命令。但是如果你想以更健壮的方式做事,你应该查看Chef,因为你使用的基本框已经包含它。
使用Chef,您将能够以可重复且可扩展的方式在盒子上安装所需的所有东西......一旦您了解它,它就会非常强大。
答案 1 :(得分:0)
将--vagrantfile Vagrantfile
添加到包命令时,它会将包装盒中使用的Vagrant文件嵌入到包中。我认为最外面的Vagrantfile应该优先于其他文件。默认的共享文件夹始终是您设置框的位置(Vagrantfile和.vagrant文件夹所在的位置),并且每次从新位置启动框时都会更改。当我制作自定义框时,我将Vagrantfile从包中取出,并且没有遇到共享文件的任何问题。希望其中一些有帮助。