vagrant synced folders not working real-time on virtualbox

你离开我真会死。 提交于 2019-11-30 14:22:15

问题


my synced folders are not working properly, they are synced one-time at start but when I make changes on the host machine, vagrant is not syncing it real-time.

First some details on my system:

  • OS: Linux Mint 18 Sarah
  • Virtualbox version: 5.0.24-dfsg-0ubuntu1.16.04.1
  • Vagrant version: 1.9.0
  • vagrant-hostmanager (1.8.5)
  • vagrant-share (1.1.6)
  • vagrant-vbguest (0.13.0)

Before we start discussing, I am not using newest version of Virtualbox since it is not in the repository and a simple vagrant up fails.

My 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 gives me this.

Now when I create a file on the host machine:

falnyr@mint:~/centos-vagrant $ ls
ansible  Vagrantfile
falnyr@mint:~/centos-vagrant $ touch file.txt
falnyr@mint:~/centos-vagrant $ ls
ansible  file.txt  Vagrantfile

And ssh to guest machine:

falnyr@mint:~/centos-vagrant $ vagrant ssh
[vagrant@my ~]$ ls /vagrant/
ansible  Vagrantfile

As you can see, the file is not created. When I perform vagrant reload the sync is executed again during machine boot.

Note: I cannot use NFS sync, since I need cross-platform ready environment.

Any ideas on how to enable real-time sync?


回答1:


The owner of the box has enabled rsync by default on the sync type. If you look at Vagrantfile of your box (in my case its ~/.vagrant.d/boxes/centos-VAGRANTSLASH-7/0/vmware_fusion but yours might probably under the virtualbox provider) you'll see a Vagrantfile with content

Vagrant.configure("2") do |config|
  config.vm.synced_folder ".", "/vagrant", type: "rsync"
end

Just remove this file from the box directory and it will work.

note if you plan to use nfs you can change the sync type in your 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



回答2:


You can use rsync-auto command:

vagrant rsync-auto

Actually, when I had a problem with sync, adding type: nfs helped me:

config.vm.synced_folder ".", "/home/ubuntu/qb-online", type: "nfs"

You can read more information from the documentation: https://www.vagrantup.com/docs/synced-folders/rsync.html




回答3:


Vagrant.configure("2") do |config|
  config.vm.synced_folder ".", "/vagrant", type: "nfs",
  rsync__exclude: ".git/"
end

just use the 2nd and 3rd line inside Vagrant.configure("2") do |config| #place here end




回答4:


If Anyone is Facing this issue vbox "Syncing/Mount" just enter the Vagrant ssh where the vagrant file is without vagrant up and run the command "sudo yum upgrade" dat'll Take time once it'll get finished exit the vagrant and hit vagrant up again.Issue will resolved. .. :)

and make sure If You are using Centos use "Bento/Centos" in Your VagrantFile List item

  1. vagrant ssh
  2. sudo yum upgrade
  3. vagrant reload


来源:https://stackoverflow.com/questions/40972345/vagrant-synced-folders-not-working-real-time-on-virtualbox

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!