vagrant中的同步文件夹未实时同步

vagrant中的同步文件夹未实时同步,vagrant,Vagrant,我正在一台流浪机器中设置一个同步文件夹,如下面的cmd dump所示,我希望每当我在主机上更新此文件夹中的文件时,更新也会反映在来宾机器中,但这不会发生 下面是转储和它没有发生的证据(我创建了一个示例文件,并通过将其中的文本从test1更改为test2)对其进行了修改: 它应该是实时同步的吗?如果是,为什么不同步 编辑:OS X 10.8.5,VirtualBox,coreos框。在您的Vagrantfile中,同步文件夹类型是默认的vboxsf,但是,在vagrant up标准输出中,它显示r

我正在一台流浪机器中设置一个同步文件夹,如下面的cmd dump所示,我希望每当我在主机上更新此文件夹中的文件时,更新也会反映在来宾机器中,但这不会发生

下面是转储和它没有发生的证据(我创建了一个示例文件,并通过将其中的文本从
test1
更改为
test2
)对其进行了修改:

它应该是实时同步的吗?如果是,为什么不同步


编辑:
OS X 10.8.5
VirtualBox
coreos
框。

在您的
Vagrantfile
中,同步文件夹类型是默认的
vboxsf
,但是,在vagrant up标准输出中,它显示rsync类型,我认为您需要在配置文件中修复它

假设您使用的是rsync类型,您的
vagrant文件中应该有以下内容

Vagrant.configure(“2”)do | config|
config.vm.synced_文件夹“.”,“/vagrant”,键入:“rsync”,
rsync\uuu排除:“.git/”
结束
注意:默认情况下,
rsync\uuu auto
设置为true,这意味着
rsync auto
将监视并自动同步此文件夹

运行
vagrant rsync auto
,目录应该在主机和来宾之间同步


有关更多信息,请参阅。

谢谢您的回答。看来问题出在“coreos”盒子上。默认设置实际上无法使用它。由于rsync auto对我不起作用(我必须显式地启动
vagrant rsync auto
,它才能工作),我最终模仿了vagrant from的同步文件夹设置。顺便说一句,对于其他框(特别是ubuntu/trusty64),默认同步设置正常。很高兴能提供帮助。我突然想到,CoreOS/filesystem(Btrfs subvol)应该是只读的吗?这可能是原因…不幸的是,我对官方的Fedora 22流浪汉盒子也有同样的问题。添加建议的配置并运行
vagrant rsync auto
似乎没有做任何事情。同步似乎仍然无法与
fedora/28 cloud base
和VirtualBox作为提供商一起工作。配置的文件夹最初通过rsync与
vagrant up
同步一次,仅此而已。运行
vagrant rsync auto
可以实现从来宾到主机的实时同步,但rsync方法似乎不支持另一种方式。真倒霉。
mypc:~ user$ cd Projects/synctest/
mypc:synctest user$ ls
Vagrantfile
mypc:synctest user$ cat Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  # always use Vagrants insecure key
  config.ssh.insert_key = false

  # Setup box
  config.vm.box = "coreos-stable"

  # Setup shared folder
  config.vm.synced_folder ".", "/vagrant"

  # Setup memory usage
  config.vm.provider "virtualbox" do |v|
    v.memory = 2048
  end

  # Define `dev` vm
  config.vm.define :dev do |dev|
  end

  if Vagrant.has_plugin?("vagrant-cachier")
    config.cache.scope = :box
  end

end
mypc:synctest user$ echo "test1" > test.txt
mypc:synctest user$ cat test.txt
test1
mypc:synctest user$ vagrant up
Bringing machine 'dev' up with 'virtualbox' provider...
==> dev: Importing base box 'coreos-stable'...
==> dev: Matching MAC address for NAT networking...
==> dev: Checking if box 'coreos-stable' is up to date...
==> dev: Setting the name of the VM: synctest_dev_1429451824339_35638
==> dev: Fixed port collision for 22 => 2222. Now on port 2200.
==> dev: Clearing any previously set network interfaces...
==> dev: Preparing network interfaces based on configuration...
    dev: Adapter 1: nat
==> dev: Forwarding ports...
    dev: 22 => 2200 (adapter 1)
==> dev: Running 'pre-boot' VM customizations...
==> dev: Booting VM...
==> dev: Waiting for machine to boot. This may take a few minutes...
    dev: SSH address: 127.0.0.1:2200
    dev: SSH username: core
    dev: SSH auth method: private key
    dev: Warning: Connection timeout. Retrying...
==> dev: Machine booted and ready!
==> dev: Rsyncing folder: /Users/user/Projects/synctest/ => /vagrant
==> dev: Rsyncing folder: /Users/user/.vagrant.d/cache/coreos-stable/ => /tmp/vagrant-cache
==> dev: Configuring cache buckets...
mypc:synctest user$ vagrant ssh
CoreOS stable (633.1.0)
core@localhost ~ $ cd ../../vagrant/
core@localhost /vagrant $ ls
Vagrantfile  test.txt
core@localhost /vagrant $ cat test.txt
test1
core@localhost /vagrant $ exit
logout
Connection to 127.0.0.1 closed.
mypc:synctest user$ cat test.txt
test1
mypc:synctest user$ echo "test2" > test.txt
mypc:synctest user$ cat test.txt
test2
mypc:synctest user$ vagrant ssh
Last login: Sun Apr 19 13:57:37 2015 from 10.0.2.2
CoreOS stable (633.1.0)
core@localhost ~ $ cd ../../vagrant/
core@localhost /vagrant $ ls
Vagrantfile  test.txt
core@localhost /vagrant $ cat test.txt
test1
core@localhost /vagrant $ echo "hi from guest machine" > test.txt
core@localhost /vagrant $ cat test.txt
hi from guest machine
core@localhost /vagrant $ exit
logout
Connection to 127.0.0.1 closed.
mypc:synctest user$ cat test.txt
test2
mypc:synctest user$