Frage Landstreicher lokal kopieren


Ich habe eine Vagabund-Box, die auf VirtualBox läuft, und ich muss eine Kopie machen (mit all ihren bestehenden Konfigurationen und Daten), so dass ich Änderungen daran vornehmen kann, ohne das Original zu beeinflussen.

Das Problem ist, dass meine Originalbox als Dateipaket kam - die Internetverbindung, mit der ich arbeite, ist extrem langsam, so dass jemand anderes ihre Ordner vagrant und virtualbox auf meinen Rechner kopiert hat. Also gibt es keine

config.vm.box_url

benutzen.

Wie kann ich das erreichen?

Edit: Ich benutze Vagrant 1.2.2


25
2017-08-22 12:12


Ursprung




Antworten:


Erstellen Sie eine neue Box aus Ihrer vorhandenen VM:

  • Wechseln Sie in das Verzeichnis mit Ihrer Vagrant-Datei

  • Lauf vagrant package Dadurch wird standardmäßig eine Boxdatei namens package.box exportiert

  • Lauf vagrant box add foo package.box um package.box zu Ihren bestehenden Boxen hinzuzufügen. (Angenommen, Sie verwenden VirtualBox und nicht VMWare)

  • Lauf vagrant box list um zu verifizieren, dass es hinzugefügt wurde.

Jetzt kannst du einfach einen neuen Ordner erstellen, run vagrant init wie gewohnt und setze deine Box auf folgendes:

 config.vm.box = "foo"

Die neue VM wird mit den exakten Daten, die in der vorherigen VM vorhanden waren, hochgefahren.

Vagrant Dokumentation


Außerdem checkt ein neues Produkt von den Machern von Vagrant ein Packer. Es wird das gleiche tun, aber Sie können Ihre VMs auf andere Anbieter (Amazon, VirtualBox usw.) kopieren.

Aktualisieren

Neuere Versionen von Vagrant haben zwei Befehle, die die obigen Schritte unnötig machen.

vagrant share
vagrant package

Vagrant share lädt deine Box zu Atlas
Vagrant package erstellt automatisch eine .box-Datei.

Für weitere Informationen tippen Sie ein vagrant --help


38
2017-08-22 17:58



Scheint wie ein guter Weg, aber leider verwende ich eine andere Version von Vagrant, während Ihre Befehle für 1.0.x scheinen - xiankai
@xiankai Ich laufe 1.2.2 und ich habe überprüft, dass diese Schritte für mich funktionieren. Ich habe ein paar Verbesserungen an meiner Antwort vorgenommen, um Klarheit zu schaffen. Versuche es noch einmal und lass mich wissen, welche Fehler du bekommst. - spuder
Ah, nachdem ich den Link gesehen habe, den du gepostet hast, habe ich es versucht vagrant package Anstatt von vagrant box package und es scheint, als wäre ich jetzt auf dem richtigen Weg! - xiankai
Landstreicher-Paket ist richtig. Das war ein Tippfehler meinerseits. - spuder