我有一个用于开发的流浪盒(ubuntu 16.04),在初始化之后我做了几个apt install
并对配置文件(.ini
,.cnf
等)进行了一些更改。现在,我对这个盒子及其内容感到满意。我想在摧毁一切之前保存它。
我读过this,但我不确定是否真的是我需要的。快照存储了什么吗?我的意思是它是保存每个已安装的程序,每个编辑的conf以及在共享/vagrant
目录中添加的每个文件?
Doc谈到“环境”,这就是为什么我不确定这是我想要的(如果这是我想要的问题:我应该vagrant snapshot push
还是vagrant snapshot save
?)
答案 0 :(得分:1)
您有3个选项可以实现您的目标:
如果你想与你的队友共享相同的环境,你可以将你的VM打包成一个新的流浪盒(如kikitux所解释的那样),这样你就可以上传这个盒子,你的队友将安装一个新的VM基于您的盒子(因此它们将具有相同的系统)
如果能够将您所做的更改放入某些脚本中,更好的选择是使用vagrant provisioning(它可以是bash脚本或更复杂的厨师/木偶系统) - 如果您需要它很好要在另一个系统上应用相同的自定义,例如,如果要升级ubuntu,则只需应用相同的配置脚本。
第三,如果您是本地人,并且只想将其用作备份解决方案,那么新功能流浪快照就是您所需要的。这是1.8版本的一个很好的补充,完全符合您的需求。
是的!所有这些 - 我只是分享我的用例:我创建一个oracle数据库VM并导入转储文件,然后执行一系列测试。我在运行测试之前拍摄快照,然后我可以轻松恢复到之前的状态,并在第二天在同一个基本框上重新运行测试。当我快照存储了什么吗?我的意思是它是否保存每个已安装的程序,每个编辑的conf以及在shared / vagrant目录中添加的每个文件?
pop
快照时,我获得完全相同的状态(整个虚拟机,安装oracle,转储导入),就像我运行测试套件一样。
如果这就是我想要的问题:如果流浪汉快照推送或流浪汉快照保存?
我使用push
和pop
因为我只需保留1个快照并始终恢复为此快照。如果您需要在不同时间保留快照(例如每天一次),则需要使用save
,因为您将专门为您正在拍摄的快照命名。
注意这个
警告:如果您使用的是
push
和pop
,请避免使用混合不安全的save
和restore
。
答案 1 :(得分:0)
vagrant包装盒应该可以帮助你创建一个新的盒子。
请注意,由于流浪汉1.7+默认情况下会改变ssh不安全键,所以如果只打包盒子,它将无法在下次启动时连接。
添加以下内容: https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub
进入〜/ .ssh / authorized_keys
然后运行: chmod 600 /home/vagrant/.ssh/authorized_keys chown -R vagrant /home/vagrant/.ssh