工作中,很多时候的机器环境都是一样的。或者是你的开发环境需要打包到别人机器上,这种情况下,为了避免重复的劳动我们可以使用vagrant来减少这部分重复的劳动。
使用vagrant前我们要注意一下几点:
1.virtualbox的版本和vagrant的版本要对应
2.你的物理主机的主机名要确保是英文,防止出现编码问题
首先部署好环境,然后在virtualbox的安装目录找到你机器的名字。
PS:virtualbox的VM主机名字跟你控制台上显示的不是同一名字。
进入virtualbox安装目录,是virtualbox不是vagrantbox,我在这个问题上因为一眼之差浪费了老半天。
找到名字,然后使用vagrant package的命令来打包vm。
下面是vagrant package 的一些参数
-- base NAME virtualbox程序里面的虚拟机的名称,不是box的名字也不是Vagrantfile里面的虚拟机名称。默认是打包当前目录下面的虚拟机。
-- output NAME 要打包成的box名称,不会自动添加.box后缀,要手动加默认值package.box
-- include FILE 打包时包含的文件名,你可以把.box文件理解为一个压缩包
-- vagrantfile FILE 打包时包含的Vagrantfile文件,原理和上面类似
-h, --help Print this help
这样操作就可以打包了。
打包后就可以把.box文件发给别人或者自己批量安装了。
下面我们来讲讲怎么安装。
准备工作
使用的virtualbox版本为4.3,使用的vagrant的版本为1.7.1
安装好virtualbox和vagrant
下载centos6.5_64bit的.box文件
BIOS记得打开虚拟化
如果你的virtualbox是5.0版本以上的,vagrant要使用1.9以上的版本
vagrant安装后一定要重启
物理PC的主机名一定要是英文名,安装的路径也必须是中文名
创建机器
在D盘创建一个目录test001
在cmd下进入D盘的test001目录下
把刚刚打包的.box文件拷贝到test001目录
vagrantbox add basebox
vagrant
vagrant
一些常用的vagrant操作虚拟机的命令
启动vm
对于单虚拟机
$ vagrant up
如果同一个Vagrantfile定义了一个以上的虚拟机,则:
$ vagrant up [vm-name]
其他命令类似。如果省略vm-name,则依次启动所有vm。
重启
$ vagrant reload [vm-name]
关机
$ vagrant halt [vm-name]
销毁虚拟机
$ vagrant destroy [vm-name]
ssh登录虚拟机
$ vagrant ssh [vm-name]
休眠与唤醒
$ vagrant suspend
$ vagrant resume
快照
查看当前保存的快照
$ vagrant snapshot list
创建一个命名快照
$ vagrant snapshot save shot1
恢复快照
$ vagrant snapshot restore shot1
删除快照
$ vagrant snapshot delete shot1
下期预告
《LNMP+HDWiKi简单部署》
敬请期待~
领取专属 10元无门槛券
私享最新 技术干货