1.关于Vagrant
Vagrant是一个基于Ruby的工具,构建在虚拟化技术之上的虚拟机管理工具。
Vagrant的运行,需要依赖虚拟化技术。(VirtualBox、VMware)
我自己在开发过程中经常使用vagrant的功能就是同步本地和虚拟机的代码,非常实用,比如之前我在开发php程序,代码一更改,虚拟机就会立即同步本地的代码,就能立刻查看修改后代码的效果,非常节省时间;还有一个好处也是显而易见的,之前我的一个同事使用的是vmware虚拟机开发,但是经常要手动的去更新代码非常的不方便,后面在我的推荐下,开始使用vagrant,他只需要安装好vagrant 和 virturebox,然后倒入我给他到处的box镜像文件,就可以轻松将我的开发环境都拥有了,这种打包虚拟机的方式可以非常轻松的让团队都拥有相同的测试环境,避免因为配置不同带来的未知影响。
另外,vagrant通过命令行的方式来管理控制虚拟机,一个命令行窗口就能进行虚拟机的所有操作,根本都不用打开虚拟机软件,我自己使用的感觉非常方便。
2.下载安装
2.1下载安装Virtualbox
因为vagrant的使用基于Virtualbox,所以需要安装VirtualBox虚拟机软件。
VirtualBox6下载地址:点击下载
VirtualBox7下载地址:点击下载
下载完成后,像普通的电脑软件安装程序一样安装即可;我使用的是Virtualbox6,想尝试最新7版本的也可以尝试一下。
安装完成后,可以设置一下虚拟机的存放位置,因为虚拟机一般都是非常大,而且virtualbox默认的虚拟机地址都是在系统C盘,特别容易将c盘挤爆,给后面的操作带来麻烦;VirtualBox设置虚拟机的存储位置也非常简单,在管理菜单里选择全局设定,然后将默认虚拟电脑位置修改成自己想存放的位置即可
2.2下载安装Vagrant
如果还没有使用git,则可以安装一个git软件,git是我们常用的代码版本控制软件,非常好用,而且其提供的命令行控制界面也费用好用,像我操作vagrant的命令行界面都是用git快捷方式打开的,非常方便,git下载地址:点击下载
安装好git之后,在任何文件夹里,右击都可以弹出菜单,然后打开此目录下的命令行窗口,非常实用方便。
vagrant下载地址:点击下载 ,如果无法下载可以自己搜索下载,下载后安装即可。
2.3下载并添加系统镜像
下载地址:
中科大centos7镜像点击下载
选择需要的镜像下载即可,如果需要其他系统的,可以执行搜索下载。
下载完成后,初始化vagrant ,在一个空文件夹右击打开git命令行窗口,如上图所示,输入vagrant初始化命令
vagrant init
命令执行完成后,在该文件夹里会生成一个名为Vagrantfile的文件,这个就是vagrant的配置文件,如下图所示:
将文件修改为我们需要的配置,并删除不需要的内容,如下图所示
Vagrant.configure("2") do |config|
# 默认的虚拟机名称,使用命令添加镜像的时候要一致
config.vm.box = "kary-demo"
# 给虚拟机配ip,需要和自己的电脑在同一个网段,不然可能会无法通信
config.vm.network "public_network", ip: "192.168.5.253"
# 文件同步将本地的文件(E:/www/okeasy/easy)同步到虚拟机对应的文件
config.vm.synced_folder "E:/www/okeasy/easy", "/usr/local/www/easy",create:true,owner:"www",group:"www"
end
接下来,我们来添加镜像系统,使用命令vagrant box add kary-demo ./CentOS-7.box,注意:在执行命令前,我已经将下载的box文件存到当前文件夹了
vagrant box add kary-demo ./CentOS-7.box
这样,我们就添加好了一台虚拟机了,是不是特别方便,快捷
好了,我们就来启动这台虚拟机吧,启动的命令也非常简单,就是vagrant up
vagrant up
首次启动可能会稍微慢一点,耐心等待一会就好了,在启动的过程中,由于我们在配置文件中使用的是www用户来同步文件的,但是新的虚拟机还没有添加www的用户,所以会报如下的错误,但是没有关系,此时虚拟机已经启动
我们已经可以登陆虚拟机,使用vagrant ssh命令即可登陆虚拟机,登陆后,我们添加www用户即可,然后重新登陆即可,所有的命令如下
登陆虚拟机
vagrant ssh
切换root用户,vagrant软件所有的用户密码都是:vagrant,root用户也是的
su root
添加用户组www,然后添加www用户到www组,然后在重启虚拟机,就能发现本地windows对应的文件夹里的文件已经同步到对应的虚拟机文件下了,之后在本地创建修改文件,都会实时的同步到虚拟机
groupadd www
useradd -g www www
接下来,我们就可以按我们平时的开发环境去配置我们的虚拟机开发环境了。
3.打包自己的虚拟机镜像文件
在我们安装好需要的开发环境之后,就可以打包我们的虚拟机,其他人只需要导入这个虚拟机镜像文件,就可以拥有我们一样的开发环境了,这样对于团队合作来讲,非常实用方便。
vagrant package --output runner.box
看到这个页面时,说明在当前的文件夹里已经倒出了我们的虚拟机,至此我们差不多可以比较愉快的使用vagrant进行windows下愉快的使用linux开发了,并且之后换电脑和同事之间都能使用这个相同开发环境的虚拟机进行愉快的开发了,节省很多不必要的重复安装工作
4.vagrant 基本命令
- vagrant box list 查看已有的box
- vagrant box add 添加box,自动帮你生成vagrantfile
- vagrant box remove 删除指定box
- vagrant status 查看虚拟机运行状态
- vagrant up 启动虚拟机
- vagrant halt 关闭虚拟机
- vagrant reload 重启虚拟机
- vagrant ssh 连接虚拟机
- vagrant suspend 暂时挂起虚拟机
- vagrant destroy 删除虚拟机
- vagrant init 初始化vagrantfile
好啦,可以慢慢享受开发Coding啦