使用Vagrant,有没有办法跨多个虚拟机共享/同步文件夹?

使用Vagrant,有没有办法跨多个虚拟机共享/同步文件夹?,vagrant,virtual-machine,virtualbox,Vagrant,Virtual Machine,Virtualbox,我希望在我的系统上运行多个虚拟机,每个虚拟机都有一个或两个与主机同步的文件夹。我用的是vagrant和virtualbox。当已经有一个VM up(通过vagrant up)时,则会创建一个新VM(通过另一个包含不同vagrant文件的目录中的vagrant up),但不会装载共享/同步文件夹。是否可以跨多个虚拟机共享/同步文件夹?如果可以,如何实现 注意:我也尝试过使用多台机器,即编辑Vagrant文件以启动多台机器,但只有一台机器获得共享文件夹 2015年4月22日编辑: 通过下面的讨论,

我希望在我的系统上运行多个虚拟机,每个虚拟机都有一个或两个与主机同步的文件夹。我用的是vagrant和virtualbox。当已经有一个VM up(通过vagrant up)时,则会创建一个新VM(通过另一个包含不同vagrant文件的目录中的vagrant up),但不会装载共享/同步文件夹。是否可以跨多个虚拟机共享/同步文件夹?如果可以,如何实现

注意:我也尝试过使用多台机器,即编辑Vagrant文件以启动多台机器,但只有一台机器获得共享文件夹


2015年4月22日编辑: 通过下面的讨论,我相信这个问题可能是由于专门使用Virtualbox造成的。尝试在另一个操作系统上重新编程并使用另一个VM应用程序后将更新。

如中所述,您可以在文件中设置特定的同步文件夹。因此,您可以为每个项目设置相同的共享文件夹,只需将类似的内容放入每个文件中即可

config.vm.synced_folder "../host_shared_src_folder", "/guest_src_folder"
所以我有这样的文件

Vagrant.configure(2) do |config|
  config.vm.box = "base_ubuntu"
  config.vm.synced_folder "../shared", "/shared"
end
和文件夹的布局

testvagrant
| -- shared
| -- testenv1
     | -- Vagrantfile
| -- testenv2
     | -- Vagrantfile

然后我就在testenv1和testenv2文件夹中进行了漫游,可以在/shared

下查看(并写入)共享文件夹,如前所述,这似乎不起作用。只有第一个虚拟机真正得到的是同步文件夹。@M.J.Davis请参阅上面的额外示例。这个配置对你有效吗?对我无效。另一个VM启动并说它正在装载共享文件并运行provisioner,但一旦完成,testenv2就不会装载共享文件夹或配置文件。事实上,当我尝试将ssh迁移到testenv2中时,它实际上是ssh迁移到testenv1中。我不明白为什么会这样。我甚至尝试以不同的方式定义它们,并使用“vagrant ssh testenv2”,但无论ssh进入第一个VM。@M.J.Davis抱歉,我不知道您对vagrant有多熟悉,但也许您应该尝试在相应的文件夹下执行ssh?在testvagrant/testenv1下登录testenv1,在testvagrant/testenv2Okay下登录testenv2,这是我不知道的。但这仍然很奇怪。它应该可以工作,因为它来自文档。不过我用的是OSX和fusion。