我有一个vagrant box(ubuntu 16.04)进行开发,在初始化之后,我做了几个apt install
和一些更改configuration文件( .ini
, .cnf
等)。 现在,我知道这个盒子和它的内容。 我想在错误地摧毁一切之前保存它。
我读了这个,但我不确定是否真的是我需要的。 快照存储是否有效? 我的意思是它保存每个安装的程序,每个编辑的conf和每个文件添加在共享/vagrant
目录?
Doc说“环境”,这就是为什么我不确定这是我想要的(旁边的问题,如果这是我想要的:我应该vagrant snapshot push
或vagrant snapshot save
?)
你有3个选项来实现你想要的:
如果你想和你的队友分享同样的环境,你可以把你的虚拟机打包成一个新的流浪盒子(如kikitux所解释的),这样你就可以上传这个盒子,并且你的队友将被安装来根据你的盒子旋转一个新的虚拟机所以他们会有相应的系统)
如果能够把你所做的改变放到一些脚本中,更好的选择是使用流浪者配置 (可以是bash脚本或更复杂的厨师/傀儡系统) – 如果你需要在另一个系统上应用相同的定制,例如,如果您想升级ubuntu,则可以应用相同的配置脚本。
第三,如果你是本地的,只是想用它作为备份解决方案,那么新功能流浪快照就是你所需要的。 这是1.8版本中的一个很好的补充,并且正是你在这里所需要的。
快照存储是否有效? 我的意思是它保存每个安装的程序,每个编辑的conf和每个文件添加在共享/ vagrant目录?
是的! 所有这一切 – 我只是分享我的用例:我创建一个Oracle数据库虚拟机和导入转储文件,并执行一系列的测试后。 在运行测试之前,我会拍摄一张快照,我可以轻松地恢复到以前的状态,并在第二天重新运行测试。 当我pop
快照,我得到完全相同的状态(整个虚拟机,甲骨文安装,转储导入),我以前运行测试套件。
侧面的问题,如果这是我想要的:我应该流浪快照推或流浪快照保存?
我使用push
和pop
因为我只需要保留1个快照并且总是恢复到这个快照。 如果您需要在不同的时间保留快照(例如每天一个),您需要使用save
因为您将专门给出您正在拍摄的快照的名称。
注意这一点
警告 :如果您使用
push
和pop
,请避免使用不安全的save
和restore
混合。
流浪包装盒应该帮助你创造一个新的盒子。
需要注意的是,由于流浪者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