Vagrant基础介绍
1. Vagrant到底是什么
vagrant是一个基于Ruby语言开发的工具,vagrant是构建在虚拟化技术之上的虚拟化运行环境管理工具
注意:
- Vagrant的运行,需要依赖于某项具体的虚拟化技术。
如:virtualbox(免费)、vmware(收费)
- vagrant其实就是一个管理工具,并不是某项具体的虚拟化技术
2. 为什么需要Vagrant?
常见的问题:
- 开发自己需要搭建开发环境,经常会因某些原因,导致编译出错,无法安装。
- 由于开发环境的不一致性,会导致A程序员写的代码,在B程序员的电脑上跑,可能会出错。
针对以上问题,刚开始的解决办法:
- 在公司的某台服务器上,安装virtualbox虚拟化软件,然后在这个虚拟化平台上,安装虚拟机,并且配置好虚拟机。
- 把配置好的虚拟机IP和用户名、密码交付开发人员
- 根据公司统一的部署文档,搭建开发环境
缺点:每次都要手工创建虚拟机,配置虚拟机的参数,容易出错
后来Vagrant的出现,则很好的解决了上面的问题。Vagrant 可以很好的结合虚拟机(如VirtualBox、VMWare这个版本要付费,对应的Vagrant 也是收费),根据配置文件,轻松的创建多台虚拟机实验环境。我们可以在配置文件中指定,包括从哪里去下载这个虚拟机、网络该如何连通、主机名、IP地址,甚至可以指定开机后自动配置的脚本。
3. Vagrant可以做什么呢?
- 新建、删除虚拟机
- 配置虚拟机的运行参数(例如CPU,内存,硬盘等)
- 管理虚拟机的运行状态(关闭,启动,停止,挂起虚拟机)
- 自动化配置和安装开发环境(通过脚本)
- 打包和分发虚拟机运行环境
4. Vagrant的作用
- 支持跨平台(支持windows、linux、苹果)
- 可移动性好(由于软件包比较小)
- 自动部署,无需人工参与
- 减少人力培训成本(避免每来一个同事,花时间搭建环境)
- 统一公司的开发环境(统一开发、测试的环境)