认识vagrant
vagrant用于创建和部署虚拟化开发环境
避免了多次重新配置环境
节约了开发时间,同时可以体验不同的操作系统
对于新手也是一个不错的方式,当我们配置出错,直接删除重新安装即可
准备工具
VirtualBox 作为虚拟化管理器(下载地址:https://www.virtualbox.org/wiki/Download_Old_Builds_5_1),
Vagrant(下载地址https://releases.hashicorp.com/vagrant/1.8.6/) ,
Ubuntu镜像(下载地址:https://pan.baidu.com/s/1kU8fUlD)
下载之后请确保文件名为ubuntu1404.box
安装
安装virtualbox,vagrant直接按照平常安装软件一样即可。
安装好后,进入磁盘目录,任意磁盘都行,创建一个管理目录。这里以vagrant目录为例。同时推荐终端工具不适用windows自带的dos,这里推荐xshell工具。
当以上工具准备好后,即可开始安装了,我们先进入我们创建的vagrant目录中,查看当前当前的虚拟机列表。vagrant box list。Ubuntu1604server便是我之前实现安装好了的虚拟机。
我们添加一个虚拟机,vagrant box add 。我这里把镜像文件放在wamp64下面的。添加完之后,我们在查看当前的虚拟机,即可看到我们方才添加的虚拟机
初始化虚拟机 vagrant init ubuntu。此时我们查看vagrant目录下面就会多一个名为Vagrantfile的配置文件。这个配置文件主要后期我们在对虚拟做修改时,直接修改该文件。
开启虚拟机 vagrant up
登录虚拟机 vagrant ssh,登录之后,我们就可以像操作Linux一样操作了。此时我们将我们常用的环境配置直按照平常的操作配置即可。
基本使用命令
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 删除虚拟机
端口转化(这里以Nginx为例)
找到vagrant目录下的Vagrantfile配置文件,添加
config.vm.network "forwarded_port", guest: 80, host: 8888 8888为Nginx的端口号,80为物理机的端口号,此时我们便可以在我们的物理机上使用127.0.0.1访问Nginx了。
或者使用virtualbox图形界面。
打包分发
按照上面的流程,我们基本的环境已经搭建好了,就是将虚拟机打包出去,方便以后或者别人直接使用。
使用vagrant package [--output xxx.box] 不添加后面参数,默认打包为package.box的镜像文件,如果后面参数添加了,则输出xxx.box的镜像文件。
当别人拿到我们打包后的镜像文件,直接使用vagrant init即可使用,此时同样的会生成一个Vagrantfile配置文件,我们需要对虚拟机进行操作,直接在配置文件修改即可。
当我们的镜像文件更新,可以采用第二步的方式,从新打包给别人使用。也可使用命令操作。如下,我们安装了apache2,直接将这个命令发给使用者,添加到Vagrantfile配置文件,在重启虚拟机即可。