无需重新加载的 Vagrant 同步文件夹?

Tim*_*iam 6 vagrant

我的主机上有一个文件~/ansible/provisioning/playbook.yml,对应/vagrant/provisioning/playbook.yml于来宾上的文件。每次我对主机上的文件进行更改时,这些更改都不会显示在来宾上,除非我运行vagrant reload它完全重新启动 VirtualBox VM。是否有另一种方法可以使用另一种文件系统类型(可能是 NFS)实时同步文件?我的主机是 MacOS,来宾是 CentOS 7。我使用的是 vagrant 2.0.0 版。

编辑:

我已经包含了我Vagrantfilepastebin。是的,看来我正在使用rsync.

$ cat .vagrant/machines/default/virtualbox/synced_folders 
{"rsync":{"/vagrant":{"type":"rsync","guestpath":"/vagrant","hostpath":"/Users/timothy/Desktop/code/ansible","disabled":false,"__vagrantfile":true,"owner":"vagrant","group":"vagrant"}}}
Run Code Online (Sandbox Code Playgroud)

除了添加config.vm.synced_folder ".", "/vagrant", type: "virtualbox"到我的 Vagrantfile 之外,我还必须运行 $ vagrant plugin install vagrant-vbguest

Fré*_*nri 7

由于启用了centos/7rsync,默认情况下该框具有 rsync,这之前已经讨论

使用 rsync 时,您可以打开rsync-auto命令以自动将任何新更改从主机推送到 VM。

如果你想使用默认的虚拟盒子共享文件夹功能,你可以在你的 Vagrantfile 中添加以下内容

config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
Run Code Online (Sandbox Code Playgroud)

  • 这奏效了,尽管我不得不运行 `vagrant plugin install vagrant-vbguest` 来安装缺少的内核模块和虚拟机驱动程序。谢谢。 (2认同)