这可能是一个菜鸟问题,但是在对图像进行一些更改vagrant up
然后安装一些东西之后,我然后调用vagrant package --box [name] --output [new.box]
.
在我创建一个新的 vagrant init 之后new.box
,它没有我在打包的盒子上安装的新东西。
有人知道我在做什么错吗?
原因可能是您使用了相同的框名。
正如你所描述的,你已经做了这样的事情:
创建了一个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]