从现有创建的流动箱创建新的流浪者箱时遇到问题。这意味着我尝试从基本框hashicorp/precise64
创建新框,并且它已成功创建,例如名称:first_box.box
。但是,在尝试使用first_box.box
作为base box
创建另一个新框时,它未成功创建,它看起来像是从hashicorp/precise64
而非first_box.box
创建的,详情请参阅以下命令:
第一步,VagrantFile是这样的:
Vagrant.configure("2") do |config|
config.vm.define "first" do |first|
first.vm.box = "hashicorp/precise64"
first.vm.network "private_network", ip: "192.168.31.10"
first.vm.hostname = "firstserver"
first.vm.synced_folder "/home/eman/dev", "/home/vagrant/dev"
end
end
并运行这些命令:
vagrant box add hashicorp/precise64
vagrant up
vagrant ssh
sudo apt-get update
sudo apt-get install bla-bla-bla
exit
vagrant package --output first_box.box
现在我的流浪者目录中有一个first_box.box
。
然后我继续第二步,使用first_box.box
作为base box
创建一个新的vm,你可以先看到VagrantFile:
Vagrant.configure("2") do |config|
config.vm.define "second" do |second|
second.vm.box = "first_box"
second.vm.network "private_network", ip: "192.168.33.10"
second.vm.hostname = "secondserver"
second.vm.synced_folder "/home/eman/dev", "/home/vagrant/dev"
end
end
然后再次运行这些命令:
vagrant box add first_box first_box.box
vagrant up
vagrant ssh
sudo apt-get update
sudo apt-get install another-bla-bla-bla
exit
vagrant package --output second_box.box
问题是,现在second_box.box
变得比first_box.box
更小。 first_box.box
(650MB),second_box.box
(647MB)。据说它必须大于650MB,因为我已经在第一步和第二步安装了另一个应用程序。
这是第三步中的VagrantFile:
Vagrant.configure("2") do |config|
config.vm.define "third" do |third|
third.vm.box = "second"
third.vm.network "private_network", ip: "192.168.35.10"
third.vm.hostname = "thirdserver"
third.vm.synced_folder "/home/eman/dev", "/home/vagrant/dev"
end
end
并运行这些命令:
vagrant box add second_box second_box.box
vagrant up
vagrant ssh
虚拟机变空,我无法找到从第一步和第二步安装的所有内容。
有人知道答案吗?