簡介
Vagrant是一個基于Ruby的工具裤唠,用于創(chuàng)建和部署虛擬化開發(fā)環(huán)境,有點docker的容器的味道.
優(yōu)點
- 適合于在window下,但代碼跑在linux上的那類像我一樣買不起mac的窮屌絲.
- 為linux和window創(chuàng)建共享目錄李破,window下開發(fā)粹湃,linux上代碼直接同步
- vagrant 的相關命令特別少呵哨,便于使用
- 開發(fā)環(huán)境配置一次可以生成box文件择同,可移植.
vagrant使用
官網(wǎng)地址: https://www.vagrantup.com/
下載box的地址:
需要工具
- vagrant
- VirtualBox
- ubuntu14.04.box(舉例)
vagrant 基本介紹
vagrant是一款虛擬機管理工具两入,使用它可以快速搭建可復用、可移植的開發(fā)環(huán)境敲才。
安裝和使用
- 安裝VirtualBox
- 安裝vagrant 查看是否安裝成功裹纳,cmd下
vagrant -v
- 添加鏡像到vagrant
vagrant box add ubuntu14.04 F:/vagrantBox/ubuntu14.04.box
ubuntu14.04
為我們給box命名的名稱
F:/vagrantBox/ubuntu14.04.box
為鏡像的路徑
在vagrantBox目錄上按住shift然后鼠標右鍵,選擇在此打開命令窗口即可在命令行進入當前目錄
vagrant box list --查看box的列表
- 初始化開發(fā)環(huán)境
命令行下進入當前目錄紧武,執(zhí)行下面的命令
vagrant init ubuntu14.04
相應會生成一個名稱為Vagrantfile
的配置文件
- 修改配置文件
打開 Vagrantfile剃氧,取消下面的注釋,然后重啟
config.vm.network "public_network" --公共網(wǎng)絡阻星,類似于virtual box的橋接模式
自定義ip地址朋鞍,可以通過該ip連接該機器
Vagrant 默認是使用端口映射方式將虛擬機的端口映射本地從而實現(xiàn)類似 http://localhost:80 這種訪問方式,這種方式比較麻煩妥箕,新開和修改端口的時候都得編輯滥酥。
- 啟動和登錄
啟動vagrant up
,查看狀態(tài)vagrant status
可以通過客戶端工具執(zhí)行ssh登錄
默認賬號:vagrant 默認密碼:vagrant 可以在配置文件查看.
cmd下vagrant ssh
命令,可以查看到如下信息
Host: 127.0.0.1
Port: 2222
Username: vagrant --遠程連接賬號
Private key: C:/Users/Administrator/.vagrant.d/boxes/ubuntu14.04/0/virtualbox/va
grant_private_key --遠程連接秘鑰
這里以xshell為例,選擇秘鑰登錄
主機為: 配置文件中修改的ip
- 打包分發(fā)
當你配置好開發(fā)環(huán)境后畦幢,退出并關閉虛擬機坎吻。在終端里對開發(fā)環(huán)境進行打包:
vagrant package --在當前box路徑運行,直接生成一個package.box的包
vagrant package --output boxname --在當前box目錄下生成一個boxname名稱的合作
打包完成后會在當前目錄生成一個 package.box
的文件宇葱,將這個文件傳給其他用戶瘦真,其他用戶只要添加這個 box 并用其初始化自己的開發(fā)目錄就能得到一個一模一樣的開發(fā)環(huán)境了刊头。
本人使用第二條命令打包以后,本地盒子不能用了诸尽,但是導出的盒子可以用
- 基本命令
vagrant box add NAME URL #添加一個box
vagrant box list #查看本地已添加的box
vagrant box remove NAME virtualbox #刪除本地已添加的box原杂,如若是版本1.0.x,執(zhí)行vagrant box remove NAME
vagrant init NAME #初始化弦讽,實質應是創(chuàng)建Vagrantfile文件
vagrant up #啟動虛擬機
vagrant halt #關閉虛擬機
vagrant destroy #銷毀虛擬機
vagrant reload #重啟虛擬機
vagrant package #當前正在運行的VirtualBox虛擬環(huán)境打包成一個可重復使用的box
vagrant ssh #進入虛擬環(huán)境
完成以后污尉,盒子的根目錄與虛擬機的vagrant根目錄相同,不用安裝Samba服務等
window下的虛擬主機的配置目錄 C:\Windows\System32\drivers\etc\hosts
注意:默認分配512M,可以擴大為1G 左右往产,否則在安裝的時候被碗,可能會報錯