2016-12-21 34 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類型,它將是實時的 –

相關問題