
本文共 1383 字,大约阅读时间需要 4 分钟。
工作中,很多时候的机器环境都是一样的。或者是你的开发环境需要打包到别人机器上,这种情况下,为了避免重复的劳动我们可以使用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
这样操作就可以打包了。
准备工作
-
使用的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目录
vagrant
box add base c.
box
vagrant init
vagrant up
一些常用的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
发表评论
最新留言
关于作者
