当试图从现有的虚拟机创build盒子时,Vagrant“虚拟机未创build”
我导入了精确的32盒,然后在虚拟机上安装了一些软件包和其他数据。 我的计划是将其重新打包成一个盒子,以便在分享时节省复杂的configuration。
然而。
vagrant package --base dev-vm --output /box/vm.box
总是返回
[dev-vm] VM not created . Moving on
我的目录结构是:
-dev-vm --.vagrant --Logs --box.ovf --box-disk1.vmdk --dev-vm_13345342.vbpx --metadata.json --Vagrantfile
我有
set VAGRANT_LOG=debug
这显示没有额外的信息发生了什么事情。
Windows 7使用Cygwin
更新:
export VAGRANT_LOG=debug
为Cygwin设置debugging日志。
我然后得到
DEBUG subprocess: Waiting for process to exit. Remaining to timeout: 32000 DEBUG subprocess: Exit status: 0 INFO warden: Calling action: #<Vagrant::Action::Builtin::Call:0x2abb800> INFO runner: Running action: #<Vagrant::Action::Builder:0x2695920> INFO warden: Calling action: #<VagrantPlugins::ProviderVirtualBox::Action::Created:0x267c078> INFO runner: Running action: #<Vagrant::Action::Warden:0x2ac6c48> INFO warden: Calling action: #<VagrantPlugins::ProviderVirtualBox::Action::MessageNotCreated:0x2ac6c00> INFO interface: info: VM not created. Moving on...
打包一个盒子时,盒子名称必须是可以从VirtualBox获得的特定机器名称(例如lucid_1372711888
)。 只需在cmd中执行以下命令:
vboxmanage list vms
请注意,“vboxmanage”应事先添加到PATHvariables中。 看到这里如何做到这一点。
另请注意,虚拟主机名称不得包含空格。 否则不会被“stream浪包”命令所识别。 例如:
vagrant package --base win7_vbox_base --output win7_base.box #CORRECT ------------------------------------------------------------------------ vagrant package --base win7 vbox base --output win7_base.box #INCORRECT
如果你在包含你的stream浪文件的文件夹中,你也可以简单地运行:
vagrant package --output your-box-name.box
下图显示了使用此命令创build的.box文件的内容: