如何生成一个 vagrant 文件来复制运行 Debian 的现有(非 vagrant)VirtualBox?

kjo*_*kjo 5 debian virtualbox virtual-machine vagrant

我有一个“手工”创建的 VirtualBox VM(即,根本不使用 vagrant),它运行 Debian。

生成可复制此框的流浪文件的最简单方法是什么?有没有自动化的方法来做到这一点?

Has*_*tur 2

您可以尝试按照 github 页面“将 VirtualBox .ovaVM 转换为 Vagrant box#7”中报告的步骤操作,跳过第一个步骤,因为您已经拥有了 VM(并且不是从ova文件启动)...

  1. 区分内部名称、ID,从 GUI 或通过命令行使用以下命令读取它VBoxManage

    VBoxManage 列表虚拟机
    “UCS 4.1”{ acef4c0a-35be-4640-a214-be135417f011 }

    您感兴趣的是acef4c0a-35be-4640-a214-be135417f011,在您的计算机上会有所不同(您必须选择为 debian 系统指定的 VM 名称,而不是 UCS 4.1)。

  2. 将该虚拟机打包为 Vagrant 盒子

    流浪者包--base acef4c0a-35be-4640-a214-be135417f011--输出UCS.box

    取之前找到的唯一ID并写入而不是acef4c0a-35be-4640-a214-be135417f011在上面的命令行中。请注意,您可以根据需要更改输出文件名(而不是UCS.box使用whatever.box),但您需要在下一个命令中使用相同的名称。

  3. 添加到本地 Vagrant 盒子列表

    vagrant box 添加UCS.box --name UCS

    在选择文件名后,您可以将框添加到vagrant,甚至选择人类可读的名称(在上述情况下为 UCS)。该名称必须在下一个文件中报告。

  4. 创建一个Vagrantfile以使用此框,或修改您已有的一个:

    Vagrant.configure("2") 执行 |config|
    config.vm.box = " UCS "
    # ...
    结束

  5. vagrant up