hash - 从任何虚拟机(例如 virtualbox)通过其接口(interface)启动 vagrant box

标签 hash vagrant virtualbox vagrantfile

我已经通过 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

更新:

分步指导如何提取 .box 文件并在 Virtualbox 中运行它:

  1. 提取:.box 只是一个 tar/tar.gz/zip 文件,因此请使用 7-zip、unzip 或 tar 等实用程序来提取文件(取决于您的操作系统)。<
  2. 解压后,您应该会看到类似于以下内容的文件夹结构(我使用 ubuntu\trusty64 框作为示例): 。 |____14.04 | |____虚拟盒 | | |____. Vagrant | | |____box-disk1.vmdk | | |____box.ovf | | |____元数据.json | | |____Vagrantfile |____元数据_url

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

  • 打开 Virtualbox,然后在"file"菜单中选择“导入设备”(这是在 OS X 中。在您的操作系统中可能会有所不同)
  • 将导入向导指向提取目录中的 .ovf 文件,然后继续导入。
  • 现在将显示一些机器详细信息,您可以更改其中一些信息(内存、CPU 等)
  • 继续导入 - Virtualbox 中现在应出现一个新的虚拟机
  • 启动新的虚拟机
  • 关于hash - 从任何虚拟机(例如 virtualbox)通过其接口(interface)启动 vagrant box,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27813425/

    相关文章:

    java - 为什么hashmap没有ArrayList那样的ensureCapacity()方法?

    c++ - 如何使用 Qt 获取文件的 SHA-1/MD5 校验和?

    laravel - 使用 Mailgun、Laravel 和 VirtualBox 发送电子邮件时出现 "Server response: 451 451 Temporary local - please try later"

    windows - 如何将主机文件复制到 VirtualBox 中的 Windows 客户机操作系统?

    javascript - 使用 javascript 检查 url 中的数字?

    mysql - Rails 通过哈希的键值查询对象保存到列?

    java - 由于内存不足错误,无法在 vagrant ubuntu 盒子中启动 Zookeeper 服务器

    vagrant - 为什么用户vagrant可以在不输入密码的情况下执行 "sudo su -"?

    ubuntu - 在哪里可以找到我使用 Docker 安装的操作系统?

    windows - Laravel 家园 : Provisioning failing on Windows 8