vagrant package[打包命令]详解

  • 来源:
  • 更新日期:2018-05-07

摘要:vagrant的一个非常重要的功能就是在你的同事之间分享你的box从而使大家的开发环境保持同步,打包[package]正是实现这一功能的关键所在。 (写到这里我想到vagrant是否提供一种通过配置中心主机实现对其他虚拟主机进行软件更新的作用,这样就不用重新打包了,或者这是puppt的业务所在?) vagrant package的命令很简单,不过有些地方官方文档并没有说清楚,我在这里补充一下

vagrant的一个非常重要的功能就是在你的同事之间分享你的box从而使大家的开发环境保持同步,打包[package]正是实现这一功能的关键所在。

002UASMrzy7605pjKJv15&690.jpg

(写到这里我想到vagrant是否提供一种通过配置中心主机实现对其他虚拟主机进行软件更新的作用,这样就不用重新打包了,或者这是puppt的业务所在?)

vagrant package的命令很简单,不过有些地方官方文档并没有说清楚,我在这里补充一下

vagrantpackage-hUsage:vagrantpackage[options][name]Options: --baseNAMEvirtualbox程序里面的虚拟机的名称,不是box的名字也不是Vagrantfile里面的虚拟机名称.默认是打包当前目录下面的虚拟机。 --outputNAME要打包成的box名称,不会自动添加.box后缀,要手动加.默认值package.box--includeFILE...打包时包含的文件名,你可以把.box文件理解为一个压缩包 --vagrantfileFILE打包时包含的Vagrantfile文件,原理和上面类似 -h,--helpPrintthishelp

演示:vagrant package –base virtualbox_vm_name –output newbox_name.box

1.把这个newbox_name.box文件拷贝到你到小伙伴到机器上;
2.在机器上执行vagrant box add newbox_names newbox_name.box就可以把这个box添加到这台机器的box列表里面;
3.在需要搭建开发环境的目录下面执行vagrant init newbox_names,这样就初始化了一个虚拟机环境,然后执行vagrant up,你的小伙伴就可以得到一个和你完全一样的开发环境了。
在初始化环境的时候需要注意的一点是:这个目录下面如果以前初始化过,那么请执行vagrant destroy命令把这个环境销毁掉,并删除Vagrantfile文件,或者在windows环境下直接手动删除.vagrant目录和Vagrantfile文件有相同的效果。否则vagrant init命令无效,当你vagant up的时候得到的是一个和以前完全一样的环境。