使用 vagrant 创建虚拟机的副本

Vin*_*ini 1 vagrant vagrantfile

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

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

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

Fré*_*nri 5

当你复制完整的 vagrant 项目文件夹时,你也复制了一个.vagrant文件夹,这个文件夹包含 VM 的 id(和 uuid)。

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

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

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

  1. 如果您想操作与原始虚拟机相同的虚拟机

首先,您需要克隆您的 VM,最简单的方法是从 VirtualBox UI 执行此操作,选择您的原始 VM 并进行克隆(整体克隆)。您还可以从 CLI 进行克隆(实际上 vagrant 在从 vagrant 框创建新 VM 时会运行 clonevm 命令)

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

$ VBoxManage list vms
Run Code Online (Sandbox Code Playgroud)

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

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