如何切换Vagrant虚拟机?

Bas*_*ian 7 ubuntu virtualbox vagrant

当我意识到我需要通过端口8000访问它以测试Web界面时,我正在使用Vagrant设置的虚拟机,所以我vagrant halt为了修改Vagrantfile并转发端口8000然后我保存了文件并做了vagrant up 引导备份那台机器,让我惊讶的是,Vagrant从零开始构建了一台新机器.现在,当我查看名为"VirtualBox VMs"的文件夹时,我可以看到两个名称相同的VM +一个不同的长号.我相信一个是我想用我的所有包和设置启动的第一台机器,而另一台是新的空机器.我怎样才能切换回第一个,所以当我这样做的vagrant up时候实际上是那个呢?并且可选地如何摆脱新的空的?

Ter*_*ang 7

我的理解是每个Vagrant项目目录(其所在地Vagrantfile)与VirtualBox(默认提供者)中由vagrant管理的虚拟机相关联.通常采用"baseboxname_id"的模式.

您的问题可能是由旧的Vagrant版本中的错误引起的.请确保您运行的是最新的Vagrant 1.3.3 + VirtualBox 4.2.18.或者,可能混合多个Vagrantfile(根据您的描述可能不是这种情况).

找出流浪盒的ID

  1. 更改目录到Vagrantfile所在
  2. 查看=>的内容 /path/to/Vagrantfile/.vagrant/.vagrant/machines/default/virtualbox/id,你会得到一个id a90df491-4c25-4a07-be1a-be137908058c.

    注意:这是uuid与VirtulBox管理的Vagrant文​​件关联的虚拟机.

摆脱新的/空的VM

现在您知道了uuid,您可以unregister将VM删除它=> VBoxManage unregistervm <uuid> --delete.

重新关联Vagrantfile第一个VM

  1. 获取VirtualBox管理的VM名称和uuids列表
  2. 将id替换为第一个VM的uuid /path/to/Vagrantfile/.vagrant/.vagrant/machines/default/virtualbox/id
  3. 启动第一个VM => vagrant up
  4. 完成!