当我意识到我需要通过端口8000访问它以测试Web界面时,我正在使用Vagrant设置的虚拟机上工作,所以我做了vagrant halt
以修改Vagrantfile和转发端口8000然后我保存了文件并做了vagrant up
引导备份那台机器,让我惊讶的是,Vagrant从零开始构建了一台新机器。现在,当我查看名为“VirtualBox VMs”的文件夹时,我可以看到两个名称相同的VM +一个不同的长号。我相信一个是我想用我的所有包和设置启动的第一台机器,而另一台是新的空机器。
我如何切换回第一个,所以当我vagrant up
它实际启动那个?并且可选地如何摆脱新的空的?
答案 0 :(得分:7)
我的理解是每个Vagrant项目目录(Vagrantfile
的主页)与VirtualBox(默认提供程序)中由vagrant管理的虚拟机相关联。通常采用“baseboxname_id”模式。
您的问题可能是由旧Vagrant版本中的错误引起的。请确保您运行的是最新的Vagrant 1.3.3 + VirtualBox 4.2.18。或者,可能混合多个Vagrantfile
(根据您的描述可能不是这种情况)。
Vagrantfile
所在的目录/path/to/Vagrantfile/.vagrant/.vagrant/machines/default/virtualbox/id
,
你会得到像a90df491-4c25-4a07-be1a-be137908058c
这样的ID。
注意:这个 是与Vagrantfile关联的虚拟机的
uuid
由VirtulBox管理。
现在您知道了uuid
,您可以unregister
VM并将其删除=&gt; VBoxManage unregistervm <uuid> --delete
。
Vagrantfile
与第一个VM重新关联/path/to/Vagrantfile/.vagrant/.vagrant/machines/default/virtualbox/id
vagrant up
答案 1 :(得分:0)
如上所述,收集所需的vm id,例如:
`vboxmanagevm list vms`
然后用所需的id替换$ vagrant_base_dir / .vagrant / machines / default / virtualbox / id的内容。
上面没有提到的是文件需要是一行而没有换行或回车: 尝试类似:
tr -d '\n' < id > id
找到了这个花絮How do I associate a Vagrant project directory with an existing VirtualBox VM?
希望这有助于任何找到它的人。