?配置詳解
下面是一些常用的配置:
config.vm.hostname:配置虛擬機(jī)主機(jī)名
config.vm.network:這是配置虛擬機(jī)網(wǎng)絡(luò)油航,由于比較復(fù)雜蔑水,我們其后單獨(dú)討論
config.vm.synced_folder:除了默認(rèn)的目錄綁定外邢锯,還可以手動(dòng)指定綁定
config.ssh.username:默認(rèn)的用戶是vagrant扬蕊,從官方下載的box往往使用的是這個(gè)用戶名搀别。如果是自定制的box,所使用的用戶名可能會(huì)有所不同尾抑,通過這個(gè)配置設(shè)定所用的用戶名歇父。
config.vm.provision:我們可以通過這個(gè)配置在虛擬機(jī)第一次啟動(dòng)的時(shí)候進(jìn)行一些安裝配置
需要注意的是,Vagrantfile文件只會(huì)在第一次執(zhí)行vagrant up時(shí)調(diào)用執(zhí)行再愈,其后如果不明確使用vagrant reload進(jìn)行重新加載榜苫,否則不會(huì)被強(qiáng)制重新加載。
1翎冲、box設(shè)置
config.vm.box = "newbox"
該名稱是再使用 vagrant init 中后面跟的名字垂睬。
2、hostname設(shè)置
config.vm.hostname = "laravel1"
設(shè)置hostname非常重要抗悍,因?yàn)楫?dāng)我們有很多臺(tái)虛擬服務(wù)器的時(shí)候驹饺,都是依靠hostname來做識(shí)別的。比如缴渊,我安裝了laravel1,laravel2?兩臺(tái)虛擬機(jī)赏壹,再啟動(dòng)時(shí),我可以通過vagrant up laravel2來指定只啟動(dòng)哪一臺(tái)衔沼。
3蝌借、虛擬機(jī)網(wǎng)絡(luò)設(shè)置
私有網(wǎng)絡(luò)只允許主機(jī)訪問不允許其他機(jī)器訪問
config.vm.network "private_network", ip: "192.168.10.11"
共有網(wǎng)絡(luò) 類似局域網(wǎng)中單獨(dú)的服務(wù)器昔瞧,允許其他機(jī)器訪問
config.vm.network "public_network", ip: "192.168.31.190"
配置當(dāng)前vm的host-only網(wǎng)絡(luò)的IP地址為192.168.33.10
config.vm.network :private_network, ip: "192.168.33.10"
私有網(wǎng)絡(luò)的IP可以不指定,而是采用dhcp自動(dòng)生成的方式菩佑,如 :
config.vm.network "private_network", type: "dhcp”
創(chuàng)建一個(gè)公共網(wǎng)絡(luò)自晰,指定IP
config.vm.network "public_network", ip: "192.168.0.17"
創(chuàng)建一個(gè)公共網(wǎng)絡(luò),指定橋接適配器
config.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)"
創(chuàng)建一個(gè)公共網(wǎng)絡(luò)稍坯,不指定橋接適配器
config.vm.network "public_network"
4缀磕、同步目錄設(shè)置
config.vm.synced_folder "D:/xxxx", "/home/vagrant/code"
前面的路徑(D:/xxx)是本機(jī)代碼的地址,后面的地址就是虛擬機(jī)的目錄劣光。虛擬機(jī)的/vagrant目錄默認(rèn)掛載宿主機(jī)的開發(fā)目錄(可以在進(jìn)入虛擬機(jī)機(jī)后袜蚕,使用df -h 查看),這是在虛擬機(jī)啟動(dòng)時(shí)自動(dòng)掛載的绢涡。我們還可以設(shè)置額外的共享目錄牲剃,上面這個(gè)設(shè)定,第一個(gè)參數(shù)是宿主機(jī)的目錄雄可,第二個(gè)參數(shù)是虛擬機(jī)掛載的目錄凿傅。
5、端口轉(zhuǎn)發(fā)設(shè)置
config.vm.network :forwarded_port, guest: 80, host: 8001
上面的配置把宿主機(jī)上的8080端口映射到客戶虛擬機(jī)的80端口数苫,例如你在虛擬機(jī)上使用nginx跑了一個(gè)Go應(yīng)用聪舒,那么你在host上的瀏覽器中打開http://localhost:8001時(shí),Vagrant就會(huì)把這個(gè)請(qǐng)求轉(zhuǎn)發(fā)到虛擬機(jī)里跑在80端口的nginx服務(wù)上虐急。不建議使用該方法箱残,因?yàn)樯婕岸丝谡加脝栴},常常導(dǎo)致應(yīng)用之間不能正常通信止吁,建議使用Host-only和Bridge方式進(jìn)行設(shè)置被辑。
guest和host是必須的,還有幾個(gè)可選屬性:
●guest_ip:字符串敬惦,vm指定綁定的Ip盼理,缺省為0.0.0.0
●host_ip:字符串,host指定綁定的Ip俄删,缺省為0.0.0.0
●protocol:字符串宏怔,可選TCP或UDP,缺省為TCP
Vagrant的配置文件Vagrantfile詳解-2 :點(diǎn)擊查看