我的同步文件夹工作不正常,它们在开始时同步了一次,但是当我在主机上进行更改时,vagrant 没有实时同步它。
首先是我系统的一些细节:
- 操作系统:Linux Mint 18 Sarah
- 虚拟机版本:5.0.24-dfsg-0ubuntu1.16.04.1
- Vagrant 版本:1.9.0
- Vagrant 主机管理器 (1.8.5)
- Vagrant 共享 (1.1.6)
- vagrant-vbguest (0.13.0)
在我们开始讨论之前,我没有使用最新版本的 Virtualbox,因为它不在存储库中并且一个简单的 vagrant up
失败了。
我的 Vagrant 文件:
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
给我 this .
现在当我在主机上创建一个文件时:
falnyr@mint:~/centos-vagrant $ ls
ansible Vagrantfile
falnyr@mint:~/centos-vagrant $ touch file.txt
falnyr@mint:~/centos-vagrant $ ls
ansible file.txt Vagrantfile
然后 ssh 到 guest 机器:
falnyr@mint:~/centos-vagrant $ vagrant ssh
[vagrant@my ~]$ ls /vagrant/
ansible Vagrantfile
如您所见,文件未创建。当我执行 vagrant reload
时,同步在机器启动期间再次执行。
注意:我不能使用 NFS 同步,因为我需要跨平台就绪环境。
关于如何启用实时同步有什么想法吗?
最佳答案
盒子的所有者在同步类型上默认启用了rsync
。如果你看看你的盒子的 Vagrantfile(在我的例子中是 ~/.vagrant.d/boxes/centos-VAGRANTSLASH-7/0/vmware_fusion
但你的可能在 virtualbox 供应商下)你会查看包含内容的 Vagrantfile
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
关于linux - vagrant 同步文件夹不能在 virtualbox 上实时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40972345/