本地复制 vagrant box

本地复制 vagrant box

我有一个在 VirtualBox 上运行的 vagrant box,我需要制作一个副本(包含其所有现有配置和数据),以便我可以对其进行更改而不影响原始版本。

问题是,我的原始盒子是作为文件包提供的 - 我使用的互联网连接非常慢,所以其他人将他们的 vagrant 和 virtualbox 文件夹复制到我的机器上。因此没有

config.vm.box_url

使用。

我怎样才能做到这一点?

编辑:我正在使用 Vagrant 1.2.2

答案1

从现有虚拟机创建一个新框:

  • cd 进入包含 Vagrant 文件的目录

  • 运行vagrant package这将默认导出一个名为 package.box 的盒子文件

  • 运行vagrant box add foo package.box以将 package.box 添加到您现有的框中。(假设您使用的是 VirtualBox 而不是 VMWare)

  • 运行vagrant box list以验证它是否已被添加。

现在您可以创建一个新文件夹,vagrant init正常运行并将您的框设置为以下内容:

 config.vm.box = "foo"

新的虚拟机将使用之前虚拟机中存在的精确数据启动。

Vagrant 文档


另外,请查看 Vagrant 创建者推出的新产品,名为打包机。它将执行相同的操作,但允许您将虚拟机复制到其他提供商(Amazon、VirtualBox 等)。

更新

Vagrant 的新版本有两个命令,使得上述步骤不再必要。

vagrant share
vagrant package

Vagrant share将会上传您的盒子到阿特拉斯
Vagrant package将自动创建一个.box 文件。

如需更多信息,请输入vagrant --help

相关内容