到目前为止我想要和实现的目标: 我想创建一个自定义流浪盒,包括配置和应用程序,以便在不同的客户端或服务环境中重用它。
具体来说,我设法创建了基于Ubuntu(exact / 64)的vagrant box,它安装了node.js,然后将它打包到我的dev机器上
vagrant package my-box --output filename.box
我能够将filename.box复制到远程服务器并将vagrant up
复制到那里。 Node.js按预期安装在vagrant框中。
问题是,我无法打包同步文件夹vagrant
中的文件。启动远程服务器上的框后,同步文件夹为空
因此,我在本地计算机上开发的应用程序不包含在框中。
我试图找到一个解决方案或有关此行为的任何信息,但除了this unanswered Post我在网上找不到任何内容。
我的问题:
/vagrant
不同的同步文件夹中的文件?答案 0 :(得分:3)
您无法打包已同步的文件夹,但绝对可以使用您想要的内容。
实现此目的的最简单方法是将数据放在框中的其他目录中(从而确保它与框一起打包)。在Vagrant框的配置过程中,将数据移动或复制到同步目录。
一旦该框启动并运行,同步目录将包含您想要的文件。
答案 1 :(得分:2)
1-3)否。这是不可能的,并不打算以您期望的方式工作。 将VirtualBox的共享文件夹视为远程计算机上的已装入卷。它不是虚拟机文件系统的一部分。实际数据保存在主机上,而不是虚拟机上。
4)如果您想在盒子中添加数据,只需将数据复制到vm,然后再打包。无需使用共享文件夹。