Vagrant+VirtualBox构建本地虚拟开发环境

一、简介

Vagrant

介绍:vagrant是一款虚拟机管理工具

作用:

1、统一开发环境。一次配置打包,统一分发给团队成员,统一团队开发环境,解决诸如“编码问题”,“缺少模块”,“配置文件不同”带来的问题;
2、避免重复搭建开发环境。新员工加入,不用浪费时间搭建开发环境,快速加入开发,减少时间成本的浪费;
3、多个相互隔离开发环境。可以在不用box里跑不同的语言,或者编译安装同一语言不同版本,搭建多个相互隔离的开发环境,卸载清除时也很快捷轻松。

安装配置:

查看官网 https://www.vagrantup.com

virtualBox

介绍:开源免费的虚拟机工具,号称最好的虚拟机工具

安装配置:

查看官网 https://www.virtualbox.org/

二、使用vagrant创建本地虚拟开发环境指南

参考官网文档 https://www.vagrantup.com/intro/getting-started/index.html

1、创建vagrant环境

$ mkdir ~/VagrantHome      # 创建虚拟环境目录
$ cd ~/VagrantHome         # 切换目录
$ vagrant init hashicorp/precise64	   # 加载官方box(hashicorp/precise64),需要等待下载,初始化生成Vagrantfile文件
$ vagrant up   		   # 启动环境
$ vagrant ssh  		   # 登录到虚拟系统
其他box下载: https://app.vagrantup.com/boxes/search
官方box优化很好,安装基本无问题,其他box可能存在安装配置的问题,需自行解决

注意:盒子文件都比较大,有时候下载比较慢,为了安装时方便,可以先把盒子文件(*.box)下载下来,然后使用下面的命令:

$ vagrant box add centos-box /path/to/centos.box
$ vagrant init centos-box
$ vagrant up
$  ...

2、配置指南

Vagrantfile 配置文件中注释的很清楚,默认配置文件主要是网络配置,

需要其他配置可查看官方文档,由于vagrant更新较多,网上搜索的不够准确,尽量参考官方文档

https://www.vagrantup.com/docs/virtualbox/configuration.html

配置示例:

网络配置

virtualbox虚拟机安装后默认使用nat网络,可通过端口映射与主机通信,这里就是将http的80和mysql3306分别映射到主机,便于访问

 # accessing "localhost:8080" will access port 80 on the guest machine.
 config.vm.network "forwarded_port", guest: 80, host: 8080
 config.vm.network "forwarded_port", guest: 3306, host: 33060
virtualbox有多个网卡,对应不同的网络设置,这里配置通过host-only网络便于主机访问

直接通过192.168.10.10也可以访问虚拟机

 # Create a private network, which allows host-only access to the machine
 # using a specific IP.
 config.vm.network "private_network", ip: "192.168.10.10"
网桥的方式,给虚拟机分配一个内部网络,可以让局域网内其他主机访问

 # Bridged networks make the machine appear as another physical device on
 # your network.
 config.vm.network "public_network"

其他配置:

配置加载的盒子名称,这里是默认的官方的盒子

# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "hashicorp/precise64"

给虚拟机改个名字,默认的虚拟机名字很长后面带一串符号不太好看,我们可以给他命名
 config.vm.provider "virtualbox" do |v|
    v.name = "Ubuntu12.0.4"
 end

3、常用命令

$ vagrant init  # 初始化
$ vagrant up  # 启动虚拟机
$ vagrant halt  # 关闭虚拟机
$ vagrant reload  # 重启虚拟机
$ vagrant ssh  # SSH 至虚拟机
$ vagrant status  # 查看虚拟机运行状态
$ vagrant destroy  # 销毁当前虚拟机

配置完成后 

exit 退出 ssh

vagrant reload 重启 


完结



你可能感兴趣的:(Other)