它们分别是什么?git
VirtualBox:github
号称是最强的免费虚拟机软件和VM相似。web
不只具备丰富的特点,并且性能也很优异。shell
Vagrant:segmentfault
是一个基于Ruby的工具,用于建立和部署虚拟化开发环境。centos
使用Oracle的开源VirtualBox虚拟化系统,使用Chef建立自动化虚拟环境。服务器
解决了什么问题?ide
让“代码在我机子上运行没有问题” 这种说辞将成为历史。工具
原理:性能
咱们能够经过Vagrant封装一个Linux的开发环境分发给团队成员。成员能够在本身喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,很是霸气。
如何安装?
安装VirtualBox:
https://www.virtualbox.org/wiki/Downloads
安装Vagrant:
http://downloads.vagrantup.com/
下载系统镜像。[Centos版本:6.5]
舒适提示:安装不一样的版本,有可能会出现意想不到的错误。
具体操做
添加镜像到Vagrant:
镜像的存放位置为/home/box/centos65.box
cd/home/box/
vagrant box add centosbox centos65.box
初始化开发环境:
vagrant init centosbox #初始化
vagrant up#启动环境
SSH登录:
利用Xshell、Putty、SecureCRT等登陆。
Ip : 127.0.0.1
Port : 2222
Username : root
Password : vagrant
经常使用配置
Vagrant初始化成功后,会在初始化的目录里生成一个Vagrantfile文件,
能够修改该文件进行个性化的定制。
配置IP:
config.vm.network :private_network, ip: “192.168.33.10”[去掉#]
你能够把IP改为其余地址,只要不产生冲突就行。
配置同步目录:
config.vm.synced_folder “../data”, “/vagrant_data” [去掉#,修改成下面]
config.vm.synced_folder “/home/web/www”, “/data/www“
/home/web/www:本地目录,/data/www:Linux服务器目录
配置虚拟内存:
在文件结尾end字符前添加下面一段:
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "2048"]
end
舒适提示:修改配置后 记得 重启虚拟机。
打包分发
当你配置好开发环境后,退出并关闭虚拟机。
在终端里对开发环境进行打包:
vagrant package
打包完成后会在当前目录生成一个package.box的文件,
将这个文件传给其余用户,
其余用户只要添加这个box并用其初始化本身的开发目录,
就能获得一个如出一辙的开发环境了。
经常使用命令
vagrant init #初始化
vagrant up #启动虚拟机
vagrant halt #关闭虚拟机
vagrant reload #重启虚拟机
vagrant status #查看虚拟机运行状态
帮助文档
http://segmentfault.com/blog/fenbox/1190000000264347