我遇到了问题,在启动流浪盒之后,synced_folder正在删除来宾计算机上目标文件夹的所有内容(我猜测它会覆盖它)
我的Vagrantfile中有以下行
config.vm.synced_folder "folder/", "/home/vagrant/src/folder/"
我确认/home/vagrant/src/folder
有内容,然后将synced_folder命令添加到Vagrant文件会导致它在启动后为空。
我不知道是不是因为我错过了一些配置选项,权限问题或什么。
我在Mac OS X 10.9.2上使用VirtualBox 4.3.12
对此的任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
如果客户操作系统中存在文件夹/home/vagrant/src/folder/
(听起来像),那么任何内容都不会被覆盖,但是它们将被隐藏,因为Vagrant将使用与安装点相同的路径。如果您停用了共享,然后执行vagrant reload
和vagrant ssh
,您可能会看到旧内容重新出现。
共享主要有助于让主机操作系统上的文件在客户操作系统中可见,而不是相反。
一种解决方法可能是使用普通文件夹共享(进入/vagrant
),然后在来宾操作系统内创建一个符号链接,指向您希望在主机操作系统上可见的内容。您可以将其添加到.profile
,以便每次进入访客时都运行它。
答案 1 :(得分:1)
正如BrianC所说,它不是覆盖,而是预期的行为。
Vagrant将项目文件夹中的folder
安装到来宾中的/home/vagrant/src/folder/
。因此,除非您手动卸载vagrant共享(默认情况下为vboxsf
),否则将隐藏原始文件夹中的内容。
您可以更改共享的安装点(在guest虚拟机内)以解决问题。
BTW:默认vboxsf
有其局限性,有新类型的同步加法器,例如: rsync,NFS,smb。我个人会建议使用rsync类型。