使用 vagrant 创建虚拟机的副本

Creating a copy of the Virtual machine using vagrant

我有一个使用 vagrant 部署在 CentOS6 上的项目。我正在尝试使用 vagrant 创建具有不同名称和 IP 地址的不同机器。尽管我在 Vagrantfile 上更改了盒子的名称和 IP,但它说机器已经启动并且 运行.

我还更改了 VM1 的名称并完成了 vagrant,它仍然将我的 VM1 重命名为它的旧名称并且没有创建第二个 VM。

我如何尝试使用 vagrant 创建所谓的 VM 副本?

复制完整的 vagrant 项目文件夹时,您还复制了一个 .vagrant 文件夹,该文件夹包含 VM 的 id(和 uuid)。

所以当你复制后,当你从新文件夹运行 vagrant up时,它仍然会运行与原始文件夹相同的VM。

  1. 如果您想从头开始创建新的 VM(如果您已将所有配置步骤自动化)

你只需要从新项目文件夹中删除 .vagrant 文件夹,vagrant 将创建一个新的 VM

  1. 如果你想操作与原来相同的VM

首先,您需要克隆您的 VM,最简单的方法是从 VirtualBox UI、select 您的原始 VM 进行克隆并进行克隆(完整克隆)。您还可以从 CLI 进行克隆(实际上是 vagrant 运行s 一个 clonevm 命令,当它从 vagrant box 创建一个新的 VM 时)

然后,您需要检查新虚拟机的ID。您可以从命令行 运行

$ VBoxManage list vms

这将列出所有虚拟机及其关联的 ID,然后您可以编辑 .vagrant/machines/default(or machine name)/virtualbox 文件夹中的 ID 文件。您还可以查看 index_uuid

这应该可以解决问题。完成编辑后,如果您再次 运行 vagrant up; vagrant 将运行您刚刚克隆的新虚拟机