使用vagrant搭建统一开发环境

大家开发同一个东西,以前每个人都要自己搭建一套开发环境容易造成兼容性问题,而且测试环境与用户环境的差异甚至导致上线失败,所以最好使用一致的开发环境和测试环境。

Vagrant是搭建一致环境的简单工具。

经验:注意vagrant的安装目录,vgrant的工作目录  这两个目录一定要设置不同目录,特别要重视工作目录,这个目录存放设置文件,并且要与虚拟机共享。

1、安装准备

     准备virtualboxvagrant,去官网下载。

     http://www.vagrantbox.es/网站下载centos box文件,也可根据需要下载其他系统包。

      2、安装virtualbox

      3、安装vagrant

      4、环境设置

       安装完成并且重启好系统之后就可以开始设置环境了。

      首先在本地创建好工作目录存储设置文件、与虚拟机共享,并在命令行下切换到对应目录

      vagrant box add base   *\*\CentOS-***.box

      base 表示指定默认的box,也可以为box指定名称,比如 centos6 ,使用base时,之后可以直接使用 vagrant init 进行初始化,如果自行指定名称,则初始化的时候需要指定box的名称。

      设置好box之后,在当前工作目录运行

      vagrant init

      生成对应的Vagrantfile。通过文本编辑器打开Vagrantfile可以进行一些进一步的常用配置:

 

网络配置:

Vagrant的网络有三种模式

(1)较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置:

config.vm.network :forwarded_port, guest: 80, host: 8080

guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。

(2)如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置:

config.vm.network :private_network, ip: "192.168.1.104"

192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可

(3)如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:

config.vm.network :public_network

     5、使用vagrant

     配置好后,就可以启动虚拟机并连接到 Vagrant 了。

       首先,执行vagrant up,等待片刻,vagrant 就启动好了。

      如果你vagrant up后又修改了 Vagrantfile,要使之生效,需要执行vagrant reload

     基本使用命令

  • vagrant box list 查看当前虚拟机
  • vagrant box add 添加一个虚拟机
  • vagrant box remove 移除虚拟机
  • vagrant init 初始化一个虚拟机
  • vagrant up 开启虚拟机
  • vagrant ssh 登录虚拟机
  • vagrant suspend 挂起虚拟机
  • vagrant reload 重启虚拟机
  • vagrant halt 关闭虚拟机
  • vagrant status查看虚拟机状态
  • vagrant destory 删除虚拟机  

6打包分发

按照上面的流程,我们基本的环境已经搭建好了,就是将虚拟机打包出去,方便以后或者别人直接使用。

使用vagrant package [--output xxx.box] 不添加后面参数,默认打包为package.box的镜像文件,如果后面参数添加了,则输出xxx.box的镜像文件。

当别人拿到我们打包后的镜像文件,直接使用vagrant init即可使用,此时同样的会生成一个Vagrantfile配置文件,我们需要对虚拟机进行操作,直接在配置文件修改即可。

posted @ 2017-07-27 09:34  勇&进  阅读(849)  评论(0编辑  收藏  举报