Vagrant基础介绍

1. Vagrant到底是什么

vagrant是一个基于Ruby语言开发的工具,vagrant是构建在虚拟化技术之上的虚拟化运行环境管理工具

注意:

  1. Vagrant的运行,需要依赖于某项具体的虚拟化技术。
    1. 如:virtualbox(免费)、vmware(收费)
  2. vagrant其实就是一个管理工具,并不是某项具体的虚拟化技术

2. 为什么需要Vagrant?

常见的问题:

  1. 开发自己需要搭建开发环境,经常会因某些原因,导致编译出错,无法安装。
  2. 由于开发环境的不一致性,会导致A程序员写的代码,在B程序员的电脑上跑,可能会出错。

针对以上问题,刚开始的解决办法:

  1. 在公司的某台服务器上,安装virtualbox虚拟化软件,然后在这个虚拟化平台上,安装虚拟机,并且配置好虚拟机。
  2. 把配置好的虚拟机IP和用户名、密码交付开发人员
  3. 根据公司统一的部署文档,搭建开发环境

缺点:每次都要手工创建虚拟机,配置虚拟机的参数,容易出错

后来Vagrant的出现,则很好的解决了上面的问题。Vagrant 可以很好的结合虚拟机(如VirtualBox、VMWare这个版本要付费,对应的Vagrant 也是收费),根据配置文件,轻松的创建多台虚拟机实验环境。我们可以在配置文件中指定,包括从哪里去下载这个虚拟机、网络该如何连通、主机名、IP地址,甚至可以指定开机后自动配置的脚本。

3. Vagrant可以做什么呢?

  1. 新建、删除虚拟机
  2. 配置虚拟机的运行参数(例如CPU,内存,硬盘等)
  3. 管理虚拟机的运行状态(关闭,启动,停止,挂起虚拟机)
  4. 自动化配置和安装开发环境(通过脚本)
  5. 打包和分发虚拟机运行环境

4. Vagrant的作用

  1. 支持跨平台(支持windows、linux、苹果)
  2. 可移动性好(由于软件包比较小)
  3. 自动部署,无需人工参与
  4. 减少人力培训成本(避免每来一个同事,花时间搭建环境)
  5. 统一公司的开发环境(统一开发、测试的环境)