我們希望多臺虛擬機使用相同的文件夾, 多個虛擬機里面的站點內容必須一致, 或者web服務器的配置文件要一致,,這個時候我們就會在宿主機上建立一個目錄,然后同步到虛擬機里。
先決條件:
一、宿主機和虛擬機上需要安裝rsync軟件
缺點:
單向同步,只能把宿主機上的某個目錄或文件,同步到虛擬機里,不能把虛擬機里目錄或文件,同步到宿主機
二、實施案例:
* 把宿主機上/website目錄同步到虛擬機/opt/web目錄下
前提條件:
在宿主機上安裝rsync
[root@vagrant ubuntu]# yum -y install rsync
1、創建目錄,并授權
[root@vagrant ubuntu]# mkdir /website
[root@vagrant ubuntu]# chown -R www.www /website
2、編輯Vagrantfile文件
[root@vagrant ubuntu]# vim Vagrantfile 添加如下
config.vm.synced_folder "/website/","/opt/web",type: "rsync"
說明:把本地/website目錄同步到虛擬機/opt/web目錄
3、啟動虛擬機
[root@vagrant ubuntu]#vagrant reload(重載)
4、測試查看

總結:
* 默認情況,不管宿主機上這個共享的目錄屬主和屬組是誰,在虛擬機上查看到的,這個目錄的屬主和屬組都會變成登錄虛擬機的用戶
比如:
宿主機上,/website目錄的屬主為www,屬組為www,登錄虛擬機的用戶為vagrant,那么通過vagrant ssh登錄虛擬機,發現/opt/web的目錄屬主為vagrant,屬組也為vagrant
* 切記不能再虛擬機/opt/web目錄下創建文件或目錄,不然同步,就會丟失
* 如果不想每次手工運行,vargrant rsync來同步文件或目錄,可以運行 vagrant rsync-auto
[root@vagrant ubuntu]# nohup vagrant rsync-auto &
三、其他參數
1、設置rsync同步目錄的屬主和屬組
config.vm.synced_folder "/website","/opt/web",owner: "www",group: "www",type: "rsync"
截圖:

- 第一章:Vagrant基礎介紹
- 第二章:Vagrant的安裝部署
- 第一節:在centos7.3的系統上安裝部署vagrant
- 第二節:在windows server 2008 R2的系統上安裝部署vagrant
- 第三章:vagrant常見命令
- 第一節:box
- 第二節:虛擬機相關的命令
- 第四章:vagrant管理虛擬機
- 第一節:初始化centos6的系統
- 第二節:初始化ubuntu16.04的系統
- 第三節:打包自己的box
- 第五章:Vagrant之網絡配置
- 第一節:通過Forwarded Ports(轉發端口)
- 第二節:Private Networks(私有網絡)
- 第三節:Public Networks(公有網絡)
- 第六章:常見錯誤
- 第七章:Vagrant之文件同步方式
- 第一節:synced_folder(把物理機的目錄同步到虛擬機里某個目錄)
- 第二節:通過NFS共享
- 第三節:通過rsync共享
- 第八章:Vagrantfile配置文件