我的主机上有一个文件,地址为 ~/ansible/provisioning/playbook.yml
对应于 /vagrant/provisioning/playbook.yml
在客人身上。每次我对主机上的文件进行更改时,除非我运行 vagrant reload
,否则这些更改不会显示在 guest 上。这将完全重新启动 VirtualBox VM。是否有另一种方法可以使用另一种文件系统类型(可能是 NFS)实时同步文件?我的主机是 MacOS, guest 是 CentOS 7。我使用的是 vagrant 2.0.0 版。
编辑:
我已经包含了我的 Vagrantfile
在 pastebin .是的,看来我正在使用 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"}}}
除了添加config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
到我的 Vagrantfile,我也必须运行$ vagrant plugin install vagrant-vbguest
最佳答案
由于启用了思想 rsync,框 centos/7
默认有 rsync,这已经讨论过 before
使用rsync时,可以转rsync-auto命令自动将任何新更改从主机推送到 VM。
如果你想使用默认的虚拟盒子共享文件夹功能,你可以在你的 Vagrantfile 中添加以下内容
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
关于无需重新加载的 Vagrant 同步文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46230783/