2016-12-21 20 views
1

我已经迷路了。用它创建一个centosVM。我激活了共享文件夹,以便我可以在本地计算机和虚拟机之间共享文件和文件夹。问题在于它是一种方式。我的虚拟机和本地计算机(Windows 7)可以查看共享文件夹中的文件夹和文件,但是如果我从虚拟机创建文件,它不会显示在窗口中的共享文件夹中,并且每当我重新启动VM时(通过vagrant destroyvagrant reload),那么我从VM创建的文件被删除。这是我的vagrantfile:Windows没有查看由linux制作的文件

# -*- mode: ruby -*- 
# vi: set ft=ruby : 

VAGRANTFILE_API_VERSION = "2" 

Vagrant.require_version ">= 1.4.3" 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    if ENV["KONG_PATH"] 
    source = ENV["KONG_PATH"] 
    else 
    source = "./" 
    end 

    if ENV['KONG_VB_MEM'] 
    memory = ENV["KONG_VB_MEM"] 
    else 
    memory = 2048 
    end 

    if ENV["KONG_VERSION"] 
    version = ENV["KONG_VERSION"] 
    else 
    version = "0.7.0" 
    end 

    config.vm.provider :virtualbox do |vb| 
    vb.name = "vagrant_kongDEBUG" 
    vb.memory = memory 
    end 
config.vm.box = "centos/7" 
     config.vm.synced_folder ".", "/tmp", type: "rsync" 

    config.vm.network :forwarded_port, guest: 8000, host: 8000 
    config.vm.network :forwarded_port, guest: 8001, host: 8001 
    config.vm.network :forwarded_port, guest: 8443, host: 8443 

    config.vm.provision "shell", inline: "cd /tmp" 
    config.vm.provision "shell", inline: "ls -l" 
    config.vm.provision "shell", path: "provision.sh", :args => version 
end 

回答

0

您使用rsync机制为共享文件夹,它意味着

rsync的同步文件夹做了一次单向同步从运行到机器 该机器由Vagrant启动。

可以强制共享文件夹的刷新:

rsyncrsync-auto命令可以用来强制重新同步,并当 发生在文件系统中的变化自动重新同步。如果没有 运行这些命令,Vagrant仅同步vagrant upvagrant reload上的文件夹。

所以只运行一个vagrant rsync当你需要刷新你的共享文件夹的内容,或者使用vagrant rsync-auto

+0

将这项更新动态?我意识到我曾经建立了一个debian系统,并且共享文件夹随即更新。每当我在虚拟机上的文件夹中放置一个项目,它就会立刻出现在我的Windows机器上。但是在centos虚拟机上这种情况并不是这样.. – efe

+0

这一切都取决于你如何在Vagrantfile中配置你的共享文件夹:'config.vm.synced_folder“。”,“/ tmp”,输入:“rsync”'表示它使用rsync与答案中解释的警告,如果你删除rsync类型,它将是实时的 –