通过他们的界面从任何虚拟机(例如 virtualbox)启动 vagrant box

starting vagrant box from any virtual machines such as virtualbox through their interface

我已经通过 vagrant package 命令打包了 vagrant box,我想将新制作的 vagrant box 分发给目前在我团队中工作的每个开发人员。问题是我不希望每个开发人员都应该在其中安装 vagrant。我只希望我共享的 vagrant box 可以通过 virtual box 或当前安装的任何虚拟机的用户界面打开。

我怎样才能实现这个目标??

这是我尝试通过虚拟框

打开vagrant.box时的错误

enter Failed to open the optical disk file /home/sandeep/vagrant image/ldapclient.box.

Could not get the storage format of the medium '/home/sandeep/vagrant image/ldapclient.box' (VERR_NOT_SUPPORTED).

Result Code: VBOX_E_IPRT_ERROR (0x80BB0005)
Component: Medium
Interface: IMedium {05f2bbb6-a3a6-4fb9-9b49-6d0dda7142ac}
Callee: IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554}
Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)code here

a .box 只是一个 tar 文件,其中包含一些元数据和提供商特定文件。

它不是 Virtualbox 支持的格式。

对于你的情况,我不确定你为什么还要使用 Vagrant(因为你可以只使用 Virtualbox 的导出功能)。但如果你坚持,你所要做的就是从 .box 文件中提取文件并将 .ovf & .vmdk 文件

导入 Virtualbox

更新:

逐步指导如何在 Virtualbox 中提取 .box 文件和 运行 文件:

  1. 提取:.box 只是一个 tar/tar.gz/zip 文件,因此请使用 7-zip、unzip 或 tar 等实用程序来提取文件(取决于你的 OS).
  2. 解压后你应该看到类似于下面的文件夹结构(我使用 ubuntu\trusty64 框作为示例): . |____14.04 | |____virtualbox | | |____.vagrant | | |____box-disk1.vmdk | | |____box.ovf | | |____metadata.json | | |____Vagrantfile |____metadata_url

如您所见,box 格式只是一个容器,用于提供特定数据和一些额外的元数据,帮助 Vagrant 进行版本控制等。这里的关键文件是Virtualbox支持的.ovf.vmdk

  1. 打开 Virtualbox 并在“文件”菜单中选择“导入设备”(这是在 OS X 中。在您的 OS 中它可能有点不同)
  2. 将导入向导指向解压缩目录中的 .ovf 文件,然后继续导入。
  3. 现在将显示一些机器详细信息,您可以更改其中一些(内存、CPU 等)
  4. 继续导入 - 一个新的虚拟机现在应该出现在 Virtualbox 中
  5. Start 新建虚拟机