这可能是一个菜鸟问题,但在使用vagrant up
对图像进行一些更改然后安装某些内容后,我会调用vagrant package --box [name] --output [new.box]
。
我从new.box
创建一个新的vagrant init后,它没有在我打包的盒子上安装新东西。
任何人都知道我做错了什么?
答案 0 :(得分:0)
原因可能是您使用了相同的方框名称。
如你所述,你做过这样的事情:
创建了Vagrantfile
:
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = 'base'
config.vm.box_url = 'http://the-url-of-box-you-used-as-base.com/precise.box'
end
vagrant up
vagrant ssh
=>那里你做了一些改变vagrant package --box [name] --output [new.box]
编辑原始Vagrant
文件(或创建一个新文件)以加载新框:
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = 'base'
config.vm.box_url = 'my-new.box'
end
在这里我假设你保持config.vm.box
相同,这意味着Vagrant没有使用你的盒子,而是原来的前一个盒子,因为已经在~/.vagrant.d/boxes
中已经下载了带有该名称的盒子
可能有两种解决方案:
Vagrantfile
中的名称(如果您在生成自定义框时实际使用了不同的名称)~/.vagrant.d/boxes/[name]