我的已同步文件夹无法正常工作,它们在启动时已被一次性同步,但是当我在主机上进行更改时,vagrant无法实时进行同步。
首先,我的系统上有一些细节:
在我们开始讨论之前,我没有使用Virtualbox的最新版本,因为它不在存储库中,并且很容易vagrant up失败。
vagrant up
我的Vagrantfile:
Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.network "private_network", ip: "192.168.88.88" config.vm.hostname = "my.centos.dev" end
vagrant up给我这个。
现在,当我在主机上创建文件时:
falnyr@mint:~/centos-vagrant $ ls ansible Vagrantfile falnyr@mint:~/centos-vagrant $ touch file.txt falnyr@mint:~/centos-vagrant $ ls ansible file.txt Vagrantfile
和SSH到访客机:
falnyr@mint:~/centos-vagrant $ vagrant ssh [vagrant@my ~]$ ls /vagrant/ ansible Vagrantfile
如您所见,未创建文件。当我执行vagrant reload同步时,将在计算机引导过程中再次执行同步。
vagrant reload
注意:由于我需要跨平台的就绪环境,因此无法使用NFS同步。
关于如何启用实时同步的任何想法?
rsync默认情况下,盒子的所有者已启用同步类型。如果您查看盒子的Vagrantfile(在我的情况下为Vagrantfile,~/.vagrant.d/boxes/centos- VAGRANTSLASH-7/0/vmware_fusion但您可能在virtualbox提供程序下),则会看到一个带有以下内容的Vagrantfile:
rsync
~/.vagrant.d/boxes/centos- VAGRANTSLASH-7/0/vmware_fusion
Vagrant.configure("2") do |config| config.vm.synced_folder ".", "/vagrant", type: "rsync" end
只需从box目录中删除此文件,它将起作用。
请注意,如果您打算使用nfs,则可以在Vagrantfile中更改同步类型
Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.network "private_network", ip: "192.168.88.88" config.vm.hostname = "my.centos.dev" config.vm.synced_folder ".", "/vagrant", type: "nfs" end