vagrant初识(一)

  vagrant是部署虚拟开发环境的工具,他可以简化虚拟机配置,为我们搭建和配置轻量级可重用,可移植的开发环境。他能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境。

  vagrant支持VirtualBox,VMware,AWS等虚拟机。

  vagrant关键字

  host——宿主机,安装虚拟机软件和vagrant的系统

  guest/vm——虚拟机

  

  安装Vagrant

  ubuntu下载安装vagrant,官方下载地址:https://www.vagrantup.com/downloads.html

  安装虚拟机管理软件:virtualbox ; virtualbox官方下载地址:https://www.virtualbox.org/

  vagrant的基本原理:

  1.首先,读取配置文件,获取需要的环境,网络配置。基础软件等信息。

  2.调用虚拟化软件API(VMWare Fusion, Oracle VirtualBox, AWS,OpenStack等),根据用户提供的配置文件为用户构建基础环境。

  3.调用用户的配置脚本(shell, puppet, chef) 安装好相应的服务和软件包;

  Vagrant概念

  • Provider

  Provider指的是为Vagrant提供虚拟化支持的具体软件,比如vmware或virtual box。

  • Box

   Box代表虚拟机镜像。Vagrant根据Porvider的不同提供了很多的基础镜像(通过url从s3上获取),用户可以根据自己的需求使用vagrant package制作属于自己的box。

  • Project
    一个目录和目录中的Vagrantfile就组成了vagrant的一个项目,项目下可以有子项目,子项目中的Vagrantfile配置将继承和重写父项目的配置。项目的虚拟机实例并不会存储在这个目录(存储在~/.vagrant.d/box下),所以可以通过git等版本管理工具来管理项目。
  • Vagrantfile
    Vagrant的配置文件,使用Ruby的语法描述。里面定义了项目所使用的box,网络,共享目录,provision脚本等。当vagrant up命令运行时,将读取当前目录的Vagrantfile。
  • Provisioning
    Provisioning指的是虚拟机实例启动后,所需要完成的基础配置工作,比如说安装LAMP服务等。Vagrant支持使用shell,puppet,chef来完成provisioning工作。
  • Plugin

  Vagrant提供了插件机制,可以很好的扩展对宿主机OS, GuestOS,Provider,Provisioner的支持,比如vagrant的aws和openstack支持都是通过plugin来实现的。

  vagrant配置

  下载box

  box的第三方下载地址: http://www.vagrantbox.es/ 

  box的安装

  创建vagrant开发环境

  $ mkdir ~/vagrant

  $ cd ~/vagrant

  agrant提供的在线安装,非常便利,但是无奈我国有非常NB的gfw,为了速度,就先FQ出去把box下载到本地,然后再进行安装。  

$ vagrant box add {title} {url}
$ vagrant init {title}
$ vagrant up

  vagrant box add 是添加box的命令 
  其中{title}可以自行设置,我这里使用的是 centos7 ,{url}是下载到本地box路径。我的路径是:/home/slang/downloads/centos-7.0-x86_64.box    

  

  安装box

$ vagrant box add CentOs7 /home/slang/downloads/centos-7.0-x86_64.box

  box的镜像默认被存放到~/.vagrant.d/boxes/下,

# 如果是才add 的box,就必须执行本步骤,初始化一次后,以后启动系统,就不需要执行本步骤。此步骤主要是创建Vagrantfile配置文件。
$ vagrant init CentOs7
# 启动系统
$ vagrant up

   ssh远程连接到虚拟机

   

$ vagrant ssh

  如果是官方的box,那么用户名和密码默认都是vagrant

  vagrant命令详解

命令 作用
  vagrant box add     添加box的操作  
vagrant init    初始化box的操作,会生成vagrant的配置文件Vagrantfile  
vagrant up 启动本地环境
vagrant ssh 通过 ssh 登录本地环境所在虚拟机
vagrant halt 关闭本地环境
vagrant suspend 暂停本地环境
vagrant resume 恢复本地环境
vagrant reload 修改了 Vagrantfile 后,使之生效(相当于先 halt,再 up)
vagrant destroy 彻底移除本地环境
vagrant box list 显示当前已经添加的box列表
vagrant box remove 删除相应的box
vagrant package 打包命令,可以把当前的运行的虚拟机环境进行打包
vagrant plugin 用于安装卸载插件
vagrant status 获取当前虚拟机的状态
vagrant global-status 显示当前用户Vagrant的所有环境状态

 

猜你喜欢

转载自www.cnblogs.com/slang/p/9919400.html