它們分別是什麼?php
VirtualBox:java
號稱是最強的免費虛擬機軟件和VM相似。python
不只具備豐富的特點,並且性能也很優異。git
Vagrant:github
是一個基於Ruby的工具,用於建立和部署虛擬化開發環境。web
使用Oracle的開源VirtualBox虛擬化系統,使用Chef建立自動化虛擬環境。centos
主頁:https://www.virtualbox.org/ruby
安裝包:http://download.virtualbox.org/virtualbox/5.0.20/VirtualBox-5.0.20-106931-Win.exe 網絡
主頁:https://www.vagrantup.comssh
Vagrant與Docker很像。Vagrant是一個基於Ruby的開源工具,用於建立和部署虛擬化開發環境。很是適合 php/python/ruby/java 這類語言開發 web 應用。它 使用Oracle的開源VirtualBox虛擬化系統。能夠經過 Vagrant 封裝一個 Linux 的開發環境,分發給團隊成員。成員能夠在本身喜歡的桌面系統(Mac/Windows/Linux)上開發程序,代碼卻能統一在封裝好的環境裏運行,很是霸氣。
安裝包:https://releases.hashicorp.com/vagrant/1.8.1/vagrant_1.8.1.msi下載下來直接安裝。
Vagrant box鏡像站點:https://atlas.hashicorp.com/boxes/search
這裏咱們使用CentOS官方提供的vagrant box
http://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7.box
下載該box到本地,倘若放在F:\目錄下
添加本地box
vagrant box add CentOS/7 F:\CentOS-7.box # 添加本地box名稱爲CentOS/7
vagrant box list # 查看box列表
vagrant init CentOS/7 # 使用已添加的box建立虛擬機
vagrant up # 啓動vagrant
最終會在目錄下生成一個名爲Vagrantfile的文件。
修改或編輯該文件內容以下
Vagrant.configure(2) do |config| config.vm.box = "CentOS/7" config.vm.network "public_network", ip: "192.168.0.228" config.vm.hostname = "c1" config.vm.provider "virtualbox" do |vb| vb.name = "c1" vb.memory = "2048" end end
注:其中config.vm.box表示使用哪一個box,
config.vm.network 配置網絡及ip,
config.vm.hostname設置主機名稱,
config.vm.provider設置使用virtualbox固然你還能夠使用vmware。
Vb.name設置主機名,
vb.memory設置內存大小。
使用vagrant up啓動虛擬機。
$ vagrant init # 初始化 $ vagrant up # 啓動虛擬機 $ vagrant halt # 關閉虛擬機 $ vagrant reload # 重啓虛擬機 $ vagrant ssh # SSH 至虛擬機 $ vagrant status # 查看虛擬機運行狀態 $ vagrant destroy # 銷燬當前虛擬機
關於vagrant的詳細使用請參考 https://github.com/sxyx2008/DevArticles/issues/36
此篇也是我在github中學習的,更詳細的使用這篇寫的很好