vagrant介绍

vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。使用Oracle的开源virtualBox虚拟化系统,使用Chef创建自动化虚拟环境。同时,vagrant也支持其他类型的虚拟机系统,如:vmware、kvm、qemu,甚至是容器系统,如docker等,当然,用的比较多的还是virtralBox。

vagrant与virtualBox原理

这里我们简述一下vagrant与virtualBox的原理,virtualBox(本身也可以创建虚拟机,只是相对麻烦)会开放一个创建虚拟机的接口,Vagrant会利用这个接口创建虚拟机,并且通过Vagrant来管理,配置和自动安装虚拟机。

使用Vagrant来创建虚拟机

前提,首先确保本机已经安装好两者。

  1. 新建一个空文件夹:mkdir centos7 ,并进入该文件夹:cd centos7/
  2. 在该目录下初始化一个创建centos7的Vagrantfile文件,执行命令:vagrant init centos/7
  3. 创建centos7虚拟机,执行命令:vagrant up,如果本地有base box,会使用本地的,否则将会从网络中下载,此过程可能偏久,会生成名字为如下图所示的虚拟机:
    接下来,我们将在virtualBox中看到刚刚创建的虚拟机:

注:在vagrant中box概念,是一个打包的单一文件,其中包含了一个完整系统的虚拟机相关数据。

vagrant的基本使用
  • 执行命令:vagrant ssh ,就会通过ssh连接至刚刚我们所创建的虚拟机
  • 如果需要退出当前连接,执行命令:exit,将会回到本地目录
  • 查看虚拟机状态,在本地目录里执行命令:vagrant status
  • 停掉虚拟机,执行命令:vagrant halt
  • 开启虚拟机,执行命令:vagrant up
  • 删除虚拟机:vagrant destroy
  • 查看目前已有的box:vagrant box list
  • 新增加一个box:vagrant box add
  • 删除指定box:vagrant box remove
  • 重启虚拟机:vagrant reload

注:如果需要通过vagrant安装对应的Linux版本,请访问这个网址进行搜索配置:https://app.vagrantup.com/boxes/search

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐