流浪的同步文件夹在流浪时写入主机文件

时间:2016-04-22 09:46:39

标签: vagrant virtualbox

我正在使用Vagrant在Virtualbox上设置一个ubuntu框。 在vagrant文​​件中,我已指定同步文件夹以将我的代码与来宾同步:

config.vm.synced_folder "/host/target/webapp", "/guest/webapp"

我的问题只有在机器被销毁然后用流浪汉重建时才出现。在这种情况下,Vagrant将guest虚拟机上的文件夹同步到主机上的文件夹,而不是托管给guest虚拟机。

"/guest/webapp" ---> "/host/target/webapp"

我根本不喜欢这种行为,如果我没有在主机上的代码中检查我的版本控制,我将丢失我的代码。

同步应该是双向的吗?有没有办法将其配置为仅将一种方式的主机同步到来宾。在vagrant basic sync

中找不到任何相关信息

在下面的评论中有哪些建议,我在哪里配置(Chef-Solo)哪里出问题的原因。 为了排除配置阶段,我做了以下工作:

  

Vagrant up --no-provision

与来宾同步的主持人内容。

  

rm -r / guest / webapp / on guest

导致删除的主机内容也被删除。

  

客人的mkdir / guest / webapp / test

创建的文件夹测试也在主机上创建。

我认为这证明了同步是双向的。

1 个答案:

答案 0 :(得分:1)

所以流浪的Synced folders实际上是同步的(可能为什么它们不仅仅被称为共享文件夹)所以一旦你同步你的文件夹,你在一边做的任何动作都会在另一边自动同步/复制。 (它来自主人或客人)

如果您真的想要单向共享,可以查看[rsync](https://www.vagrantup.com/docs/synced-folders/rsync.html

  

Vagrant可以使用rsync作为将文件夹同步到来宾的机制   机。此同步文件夹类型主要用于情况   其他同步文件夹机制不可用的地方,例如何时   guest虚拟机中不提供NFS或VirtualBox共享文件夹   机。

     

rsync同步文件夹从计算机执行一次性单向同步   跑到Vagrant正在启动的机器上。