Vagrant Fehler - Eine VirtualBox-Maschine mit dem Namen bereits existiert
Möchte ich ubuntu/xenial64
box zu erstellen, die zwei separate VMs für zwei getrennte Projekte. Ich definierte Vagrantfile in zwei separate Projekt-Verzeichnisse Hinzugefügt und die Zeile config.vm.box = "ubuntu/xenial64"
jedem.
Die erste box bootet erfolgreich. Aber wenn ich das mache vagrant up
für das zweite Projekt, erhalte ich die Fehlermeldung
A VirtualBox machine with the name 'ubuntu-xenial-16.04-cloudimg' already exists.
In der Vagrant-Dokumentation es ist klar geschrieben, dass
Kästen werden Global für den aktuellen Benutzer gespeichert. Jedes Projekt verwendet eine
box, wie ein erstes Bild zu Klonen, und nie ändert die tatsächliche
Basis-image. Dies bedeutet, dass, wenn Sie haben zwei Projekte-beide mit dem
hashicorp/precise64 box die wir gerade Hinzugefügt haben, hinzufügen von Dateien in einem Gast -
Maschine hat keine Auswirkung auf die anderen Rechner.
Warum bekomme ich dann diese Fehlermeldung?
Habe ich bereits ausgecheckt ähnliche Fragen, aber ich verstehe nicht, Ihre Lösung zu löschen, bestehende VMs, die scheinbar den gleichen Namen haben. Nach der Vagrant-Dokumentation Zitat oben, das sollte nicht notwendig sein. Bin ich etwas fehlt?
- Ich bin immer ein Gefühl, dass dies hat zu tun mit, wie die box
ubuntu/xenial64
erstellt wurde. Ich wiederholte das gleiche experiment mit einer anderen boxgbarbieru/xenial
und dass man keine solche problem beim erstellen mehrerer VMs. Wenn ich unter VirtualBox GUI sehe ich, dass die VM-name automatisch umbenannt und Ordner den Namen auf das boot. - Gibt es eine Möglichkeit, geben Sie den Namen ohne Bearbeitung der box direkt? Ich benutze lieber die Standard-upstream-Einstellungen und lassen Sie die wandernden Abstrakt alles Weg... und ich möchte lieber in der Lage sein, um meine box, direkt nach einem
git checkout
anstatt zur Kasse, dann Bearbeiten Sie die boxVagrantFile
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht zu löschen, die andere VM und in der Tat können Sie sicherlich haben viele VMs aus der gleichen box.
Ihre Fehler zu tun haben könnte mit der VirtualBox Namen der VM in VirtualBox erstellt, Wenn Sie zum überschreiben einer Eigenschaft mit diesem Namen und den Namen deines 2 Projekte, dann gibt es eine Kollision, finden Sie diese Antwort zu sehen, die verschiedenen Möglichkeiten zu definieren, der name der VM
also entweder lassen vagrant definieren Sie den Namen der VM oder stellen Sie sicher, Sie haben die einzigartige VM-Namen in deinem anderen Projekt und es läuft Prima
UPDATE
Ich check dieser besonderen box und enthält die folgenden Vagrantfile
so stellen Sie sicher, dass in Ihrem Vagrantfile um diese Eigenschaft überschreiben
und ändern Sie die
vb.name
einzigartig für jedes Ihrer Projekte.ubuntu/xenial64
?~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20160509.0.0/virtualbox/Vagrantfile
Fand ich, dass es einfacher zu Bearbeiten, die original-box ist
Vagrantfile
(befindet sich~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/<VERSTION>/virtualbox/Vagrantfile
) anstatt zu denken, über die einzigartigen VM-Namen jedes mal.Arbeiten in der config von Vagrantfile (box!):