簡體   English   中英

流浪者同步的文件夾無法在VirtualBox上實時工作

[英]vagrant synced folders not working real-time on virtualbox

我的已同步文件夾無法正常工作,它們在啟動時已被一次性同步,但是當我在主機上進行更改時,vagrant無法實時進行同步。

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

  • 操作系統:Linux Mint 18 Sarah
  • Virtualbox版本:5.0.24-dfsg-0ubuntu1.16.04.1
  • 流浪版本:1.9.0
  • 流浪漢主持人(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給了我這個

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

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

和SSH到訪客機:

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

如您所見,未創建文件。 當我執行vagrant reload ,同步將在計算機啟動期間再次執行。

注意:由於我需要跨平台的就緒環境,因此無法使用NFS同步。

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

默認情況下,盒子的所有者已在同步類型上啟用rsync 如果您查看包裝盒的Vagrantfile(在我的情況下,其為~/.vagrant.d/boxes/centos-VAGRANTSLASH-7/0/vmware_fusion但您的~/.vagrant.d/boxes/centos-VAGRANTSLASH-7/0/vmware_fusion可能在virtualbox提供程序的下面),您會看到包含內容的Vagrantfile

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

只需從box目錄中刪除此文件,它將起作用。

請注意,如果您打算使用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

您可以使用rsync-auto命令:

vagrant rsync-auto

實際上,當我在同步方面遇到問題時,添加type: nfs幫助了我:

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

您可以從文檔中閱讀更多信息: https : //www.vagrantup.com/docs/synced-folders/rsync.html

如果任何人都面臨此問題,則vbox“正在同步/掛載”只要輸入Vagrant ssh,即可在其中沒有流浪者的情況下流浪者文件,然后運行命令“ sudo yum upgrade”,完成操作后將花費一些時間退出流浪者並點擊再次流浪,問題將解決。 .. :)

並確保如果您使用的是Centos,請在您的VagrantFile列表項中使用“ Bento / Centos”

  1. 流浪的SSH
  2. sudo yum升級
  3. 流浪者重裝
Vagrant.configure("2") do |config|
  config.vm.synced_folder ".", "/vagrant", type: "nfs",
  rsync__exclude: ".git/"
end

只需使用Vagrant.configure("2") do |config| #place here end內的第二行和第三行Vagrant.configure("2") do |config| #place here end Vagrant.configure("2") do |config| #place here end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM