【发布时间】:2016-05-11 14:34:46
【问题描述】:
我想使用ubuntu/xenial64 框为两个独立的项目创建两个独立的虚拟机。我在两个单独的项目目录中定义了 Vagrantfile,并在每个目录中添加了 config.vm.box = "ubuntu/xenial64" 行。
第一个盒子成功启动。但是当我为第二个项目做vagrant up 时,我得到了错误
A VirtualBox machine with the name 'ubuntu-xenial-16.04-cloudimg' already exists.
在 Vagrant 的文档中明确写到
框是为当前用户全局存储的。每个项目使用一个 框作为要克隆的初始图像,并且从不修改实际 基础图像。这意味着如果您有两个项目都使用 我们刚刚添加的 hashcorp/precise64 框,在一个访客中添加文件 机器对另一台机器没有影响。
为什么会出现这个错误?
我已经查看了other similar questions,但我不明白他们删除似乎同名的现有虚拟机的解决方案。根据上面的 Vagrant 文档引用,这不是必需的。我错过了什么吗?
【问题讨论】:
-
我感觉这与盒子
ubuntu/xenial64的创建方式有关。我用另一个盒子gbarbieru/xenial重复了相同的实验,并且在创建多个虚拟机时没有这样的问题。当我看到 VirtualBox GUI 时,我看到 VM 名称在启动时自动重命名为包含文件夹的名称。 -
有什么方法可以指定名称而不直接编辑框?我更喜欢使用默认的上游设置,让 vagrant 将所有这些抽象出来......那我宁愿能够在
git checkout之后立即打开我的盒子,而不必结帐然后编辑盒子的VagrantFile
标签: vagrant virtualbox