前言
两年前写过一篇关于Vagrant,最近因为环境需要重温了一下,所以又重新做了一次总结。
Vagrant是什么
Vagrant是构建在虚拟化技术之上的虚拟机运行环境管理工具。通过Vagrant可以轻松实现对虚拟机的管理,包括建立和删除虚拟机、配置虚拟机运行参数、管理虚拟机运行状态、自动化配置和安装开发环境各类软件、打包和分发虚拟机运行环境等,提供了一套基于配置文件和命令行的管理工具。
为什么要使用Vagrant
Vagrant可以为团队开发成员提供一份服务器运行环境的虚拟机,大家都使用统一的开发环境,避免“在我机器上运行是好的,怎么在你机器上不能运行”问题的发生。
Vagrant中Boxes是什么
Boxes是一个包含可运行的操作系统及软件的镜像包,你可以把它理解成一个箱子,箱子里面包含了虚拟机配置、虚拟机硬盘镜像,可以直接被添加到Vagrant中使用。使用box,将不再需要下载ISO镜像文件、新建虚拟机、修改虚拟机配置等操作,因为box文件已经包含了这些,可直接拿过来使用。
Vagrant安装、配置及使用
1.下载VirtualBox并安装
在线下载地址https://www.virtualbox.org/wiki/Downloads
2.下载Vagrant并安装
可以到https://www.vagrantup.com/downloads.html,选择需要的版本进行下载。
3.下载box
vagrantbox种类比较多,可以到http://www.vagrantbox.es/,选择需要的类型进行下载,示例使用下载了Ubuntu precise 64 VirtualBox版本,地址:http://files.vagrantup.com/precise64.box
4.使用box
在使用box之前,创建以下目录结构:
--Applications
--vagrant
--boxes
—works
执行以下命令:
cd ~/Applications/
mkdir vagrant
cd vagrant
mkdir boxes
mkdir works
然后将下载的precise64.box移动到boxes目录下,然后执行以下命令:
vagrant box add ubuntuprecise64.box
cd ..
cd works
vagrant init ubuntu #在works目录下生成Vagrantfile文件
5.修改Vagrantfile文件
然后保存。
6.启动Vagrant
使用命令:vagrant up
如果执行受限,使用sudo。启动过程中,可能需要选择网络方式,如下图。
7.验证是否启动成功
进入works目录下,执行以下命令:
vagrant ssh
成功连接则启动成功,然后就可以在虚拟机系统中安装应用及操作了,例如安装mysql等。
8.安装MySQL
执行以下命令安装MySQL,
sudo apt-get update
sudo apt-get install mysql-server #过程中需要设置root用户的密码,一定要记住
sudo mysql_secure_installation #配置MySQL
9.验证MySQL是否安装成功
在第8步骤的命令行继续执行命令,
mysql -u root -p
输入密码后,如果成功进入则安装和启动成功。
10.虚拟机外连接MySQL
MySQL是在虚拟机中安装启动的,在外部要使用客户端进行连接访问,需要做如下操作:
10.1 进入works目录,执行vagrant ssh,然后执行mysql -u root -p,进入mysql,接着执行grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;,接着执行flush privileges;,最后退出。
10.2 接上一步,执行sudo vi /etc/mysql/my.cnf,找到bind_address=127.0.0.1,在其前面添加#,保存。
10.3 关闭Vagrant,然后重新启动Vagrant。
10.4 在外部使用任意MySQL客户端做连接测试。
11.关闭Vagrant
进入works目录下,执行以下命令:
vagrant halt
12.导出本地box
构建好的开发环境可以导出给团队成员使用,这样团队的开发环境就统一了。可以使用如下命令导出box,
vagrant package --base 虚拟机实例的名称 --output 导出后的box名称
例如:
这里需要注意的是虚拟机实例的名称,这个名称是虚拟机里面实例的名称,可以到VirtualBox中查看。
END
如果觉得有收获,记得关注、点赞、转发。
领取专属 10元无门槛券
私享最新 技术干货