2014-07-23 13 views
8

Ich habe eine Windows 8 VM in VirtualBox erstellt, und habe angepasste Einstellungen und installierte Software darauf.VirtualBox Windows VM zu Vagrant Base Box

Jetzt möchte ich es in eine Vagrant Base Box verwandeln, so dass ich mit dem Team teilen kann, und auch viele andere VMs basierend auf meinen Cutomized Windows spawnen.

Es ist möglich zu tun, ich habe Windows Base boxes in vagrantcloud gesehen. Abgesehen davon, dass es keine Dokumentation zum Packen einer vorhandenen Windows VirtualBox-VM gibt.

Bitte helfen Sie mir mit Anweisungen oder Link zu Anweisungen zum Erstellen einer Vagrant Base Box von meiner bestehenden Windows-VM. creating a base box Dokumentation hilft mir nicht, wie es für Linux ist.

Vielen Dank im Voraus SO Community!

Antwort

11

Sie können das wahrscheinlich tun, indem Sie das --base Argument zu vagrant package verwenden.

Suchen Sie zuerst den Namen der VM auf der GUI von VirtualBox. Sagen, es ist "Windows" genannt, Sie erteilen:

vagrant package --base Windows --output /path/to/windows.box

Das .box Datei Ihre Fußschachtel sein wird. Sie können es durch die Verwendung

vagrant box install /path/to/windows.box

lokal installieren Alternativ können Sie es auf einem Server zur Verfügung stellen und die entsprechende URL in Ihrem Vagrantfile auf dem config.box_url Parameter setzen.

+0

Dies ist eine von Vagrant erstellte VM zu packen. Was ich habe, ist eine VM, die nicht von Vagrant erstellt wurde, ich habe die VM mit VirtualBox manuell erstellt. so 'vagrant package' wird der Fehler sagen, dass kein vm läuft. – Zasz

+0

Haben Sie meinen Vorschlag ausprobiert? Es funktioniert gut für mich, ich sehe nicht, warum dein Vagrant anders wäre. – cassianoleal

+0

Wenn Vagrant erstellt die VM mit vagrant up, dann kann Ihr Paket Befehl es verpacken, weil vagrant weiß über die VM. In meinem Fall weiß Vagrant nichts über die VM, die ich mit VirtualBox erstellt habe. Wenn ich also deinen Befehl ausführe, bekomme ich: ': /System/Vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb: 306: in 'id =': undefinierte Methode 'children' für nil: NilClass (NoMethodError) ' – Zasz

Verwandte Themen