VitrualBox、vagrant、homestead的關係

VitrualBox 是一款很是強大的免費虛擬機軟件,使用者能夠在 VitrualBox 上安裝並運行 Linux、Windows、Mac OS X 等操做系統,相似的軟件還有 VMware
Vagrant 是一個用於建立和部署虛擬化開發環境的工具,其依賴於 VirtualBox 虛擬機,致力於幫助開發者快速構建一個環境統一的虛擬系統。

Vagrant 能夠將一整套虛擬環境封裝在一個box 內,這樣只要全部人都使用這個 box,你們的開發環境就實現統一了!而 Homestead 就是這樣一個 Laravel 官方預裝的適合 Laravel 開發的 Vagrant box 。
--------------------- 
做者:蝸牛蝸牛慢慢爬 
來源:CSDN 
原文:https://blog.csdn.net/u014665013/article/details/77775911 
版權聲明:本文爲博主原創文章,轉載請附上博文連接!

其實能夠這樣理解,你有了虛擬機(VirtualBox),有了集成環境(homestead環境也就是vagrant box),那麼你總須要把集成環境放到虛擬機上是吧。那麼誰來作這個事情呢?必需要有人來作才行啊,否則的話,虛擬機是不會本身裝環境的。vagrant 就是作這個事情的。php

那麼問題又來了,可能會有人問:html

既然vagrant是用來裝homestead的,那你爲何後來還要再裝homestead呢?mysql

這個問題其實我並不知道答案,可是根據個人理解,應該是這樣的。laravel

咱們須要對本地文件和虛擬機上的文件進行同步,同時還要進行站點的搭建,VirtualBox、vagrant都不能作這個事情,這個事情就只能交由另一我的來作了:homestead。sql

這裏你們可能會有疑問:工具

你剛纔說homestead是vagrant box,如今又說homestead是來對本地文件和虛擬機上的文件進行同步,同時還要進行站點的搭建的。這根本就是兩個東西嘛,它究竟是什麼玩意。學習

其實能夠這樣理解,第一個homestead(vagrant box)是集成了laravel運行環境的一個box,這裏面有php、mysql等等的軟件,第二個homestead是控制本地文件和虛擬機上的文件進行同步,同時還要進行站點的搭建的url

從根本上來講,他們兩個並非同一個東西。spa

但想到這裏我又產生了一個疑問:操作系統

既然vagrant是虛擬機和環境之間的橋樑,那若是我有10個虛擬機,1個環境,這個時候若是我執行

vagrant box add laravel/homestead

 那麼vagrant會把homestead安裝到哪一個虛擬機上呢?

我想這個應該不是個問題:

不管它把homestead安裝到哪一個虛擬機上,不管安裝的是哪一個環境,vagrant老是知道的,當咱們須要使用虛擬機的時候,他會爲咱們開啓相應的虛擬機,固然你若是不想作一個傻瓜,我猜設計者也提供了讓你本身選擇的操做了把。

後來我又想,大部分的時候我運行vagrant都是在homestead的目錄下,那若是有一天homestead不流行了,你們都不用他了,那vagrant是否是也就涼了呢?

其實並非的,二者並無必要的聯繫。

vagrant 管理的是虛擬機,

那又有人會說,我爲啥要vagrant管理虛擬機,virtualbox本身就有圖形化界面,虛擬機的啓動,關閉,銷燬均可以由virtualbox來作,幹嗎要vagrant來管理?

後來我想一想,其實這個質疑並非沒有道理的。

但咱們能夠這樣理解。固然virtualbox能夠啓動,關閉,銷燬虛擬機,vagrant也能夠不作這樣的事情。可是誰來作把環境箱子挪到虛擬機這一步的操做呢?

固然仍是vagrant !!!

累了,具體的緣由在這個url上,明天接着學習吧。https://www.jianshu.com/p/050b0a4468c四、https://www.cnblogs.com/hafiz/p/9175484.html

相關文章
相關標籤/搜索