2015-02-11 86 views
4

我想,到目前为止取得了什么: 我想创建一个自定义的流浪汉箱包括配置和应用程序重用它在不同的客户端或服务的环境。如何打包同步文件夹中的流浪汉箱

具体来说,我成功地创建流浪框,基于Ubuntu(精确/ 64),已安装的node.js,并用

流浪包我的盒打包我dev的机器--output filename.box

我能够复制filename.box到远程服务器和vagrant up那里的框。 Node.js按预期方式安装在流浪盒中。

问题是,我无法打包同步文件夹中的文件vagrant。在开始框在远程服务器上后,同步文件夹为空

所以我在本地机器上开发的应用不包括在框中。

我试图找到一个解决方案或有关此问题的任何信息,但除了this unanswered Post我无法在网络上找到任何东西。

我的问题:

  1. 我如何保留这些文件的同步文件夹,并在filename.box在服务器环境中重用它们打包。
  2. 这甚至可能吗?我看到一个错误的行为,还是流氓并不意味着打包文件?
  3. 到目前为止,我没有对已同步的文件夹进行任何配置。是否可以打包来自其他同步文件夹的文件,而不是常规的/vagrant
  4. 如果完全不可能,那么部署或重新使用流浪环境(包括应用程序)的最佳实践是什么?

回答

2

1-3)号这是不可能的,而不是意在你期望它的工作方式工作。 将VirtualBox的共享文件夹想象为远程计算机上的已装入卷。这不是虚拟机文件系统的一部分。实际数据保存在主机上,而不是虚拟机上。

4)如果您想将数据添加到您的盒子,只是你的数据在复制到虚拟机你收拾它。无需使用共享文件夹。

3

您无法打包已同步的文件夹,但您所期望的内容绝对有可能。

做到这一点最简单的方法是把数据在其他一些目录中的框(从而确保它被打包在盒子)。在Vagrant框配置期间,将数据移动或复制到同步目录。

一旦该框启动并运行,synced目录将包含您想要的文件。

+0

感谢您的回答。然后,我更改了同步文件夹中的文件后,如何确保留在盒子中?我必须将文件复制到以前的目录并每次创建一个新的文件夹? – Rias 2015-06-20 10:35:38

+0

如果文件被复制到同步文件夹中,用户可以自由删除它们。没有办法让他们在那里没有做一些特殊的权限设置。 – 2015-06-20 21:35:21

+0

我只是想确保,当流浪者跑起来时,文件就在那里。所以基本上问题是:“我如何最好地继续发展我的流浪者箱子”什么是一个很好的过程,用新文件“升级”一个盒子并使其可用。 – Rias 2015-06-21 16:08:17