2016-12-05 80 views
2

我的同步文件夾工作不正常,它們在啓動時一次性同步,但是當我在主機上進行更改時,vagrant不會實時同步它。vagrant同步文件夾在virtualbox上不能實時工作

首先我的系統上的一些細節:

  • 操作系統:Linux Mint的18莎拉
  • VirtualBox的版本:5.0.24-DFSG-0ubuntu1.16.04.1
  • 流浪版本:1.9.0
  • 流浪-hostmanager(1.8.5)
  • 流浪股(1.1.6)
  • 流浪-vbguest(0.13.0)

在我們開始討論之前,我沒有使用最新版本的Virtualbox,因爲它不在存儲庫中,並且一個簡單的vagrant up失敗。

我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給我this

現在,當我創建了主機上的文件:

​​

和ssh到來賓機:

[email protected]:~/centos-vagrant $ vagrant ssh 
[[email protected] ~]$ ls /vagrant/ 
ansible Vagrantfile 

正如你所看到的,是不是創建的文件。當我執行vagrant reload時,在機器引導期間再次執行同步。

注:我無法使用NFS同步,因爲我需要跨平臺的準備環境。

關於如何啓用實時同步的任何想法?

回答

5

此框的所有者默認已在同步類型中啓用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 

剛剛從包裝盒目錄中刪除這個文件,它會工作。

注意如果您計劃使用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 
+0

我試過沒有rsync但文件夾也沒有工作。 NFS不是一種選擇,因爲它需要跨平臺。 – falnyr

+0

您是否從箱子文件夾和您當前的Vagrantfile中刪除了現有的Vagrantfile?它適用於我 –

+0

你是對的!從〜/ .vagrant.d/..中的Vagrantfile中刪除解決了問題!但是,當我初始化centos/7默認添加rsync時,有沒有辦法阻止box使用rsync創建這一行? – falnyr

0

更改同步類型可以使用rsync-auto命令:

vagrant rsync-auto 

其實,當我有一個問題,同步,加入type: nfs幫我:

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

你可以閱讀更多informati從文檔: https://www.vagrantup.com/docs/synced-folders/rsync.html

相關問題