Ich habe eine Vagrant-Box in Betrieb (konfiguriert mit einem LAMP-Stack). Ich muss es auf einen anderen PC übertragen. Wie kann ich es exportieren? Ich vermute, dass ich eine Datei (oder Dateien) erhalten kann, die auf einen anderen PC kopiert werden kann, sodass ich dort einen Befehl zum Importieren der Vagrant-Box ausführen kann.
virtual-machine
virtualbox
vagrant
Eugene
quelle
quelle
Antworten:
Sie haben zwei Möglichkeiten, dies zu tun. Ich nenne es schmutzig und sauber :
1. Der schmutzige Weg
Erstellen Sie mit dem folgenden
vagrant package
Befehl eine Box aus Ihrer aktuellen virtuellen Umgebung :http://docs.vagrantup.com/v2/cli/package.html
Kopieren Sie dann die Box auf den anderen PC, fügen Sie sie mit hinzu
vagrant box add
und führen Sie sievagrant up
wie gewohnt aus.Beachten Sie, dass Dateien in Ihrem Arbeitsverzeichnis (das mit dem
Vagrantfile
) beim Booten der virtuellen Maschine freigegeben werden. Sie müssen sie daher auch auf den anderen PC kopieren.2. Der saubere Weg
Theoretisch sollte es niemals notwendig sein, mit Vagrant zu exportieren / importieren. Wenn Sie die Voraussicht haben, die Bereitstellung für die Konfiguration der virtuellen Umgebung (Chef, Puppet, Ansible) und ein Versionskontrollsystem wie git für Ihr Arbeitsverzeichnis zu verwenden, ist das Kopieren einer Umgebung an diesem Punkt so einfach wie das Ausführen von:
quelle
Meine Festplatte in meinem Mac machte mitten in einem Projekt Pieptöne, daher entschied ich mich, eine SSD zu installieren. Ich musste mein Projekt von einer Festplatte auf eine andere verschieben. Ein paar Dinge zu beachten:
Das hat bei mir funktioniert:
Ich hatte ein paar Probleme mit VB Guest Ergänzungen.
Ich habe sie mit dieser Lösung behoben .
quelle
vagrant box list
: 0bin.net/paste/iCiaqNhU-i3bbfY2#-KDiXYcRFni1RNgNJhOBrIs/…Das ist eigentlich ziemlich einfach
Wickeln Sie Ihre Vagabundmaschine ein
vagrant package --base [machine name as it shows in virtual box] --output /Users/myuser/Documents/Workspace/my.box
Kopieren Sie die Box auf Ihre Fernbedienung
Initiieren Sie die Box auf Ihrem Remote-Computer, indem Sie ausführen
vagrant init [machine name as it shows in virtual box] /Users/myuser/Documents/Workspace/my.box
Lauf
vagrant up
quelle
VBoxManage list vms
. Nachdem Sie einfach kopieren und tun können, was in @Phil 2. und 4. Schritt gesagt wird. :) Ja.scotch/box (virtualbox, 3.0)
). Mein Befehl - virtuelle Maschinen mit Kennung, zB:"Win10 - SandBox" {bc251c06-501f-4c0f-bgfa-21f2815ba2cd}
Am einfachsten wäre es, die Vagrant-Box zu verpacken und sie dann (z. B.
scp
oderrsync
) auf den anderen PC zu kopieren , hinzuzufügen undvagrant up
;-)Weitere Informationen finden Sie unter
=>
Gibt es eine Möglichkeit, eine bereits installierte Vagrant-Box zu klonen?quelle
Keine der oben genannten Antworten hat bei mir funktioniert. Ich habe 2 Tage lang daran gearbeitet, eine Vagrant + VirtualBox-Maschine von einem Computer auf einen anderen zu migrieren ... Es ist möglich!
Zunächst müssen Sie verstehen, dass die virtuelle Maschine von Ihrem Synchronisierungs- / freigegebenen Ordner getrennt ist. Wenn Sie also Ihren Computer packen, packen Sie ihn ohne Ihre Dateien, aber mit den Datenbanken.
Was musst du machen:
1- Öffnen Sie die CMD Ihres Computer-1-Host-Computers (Befehlszeile. Öffnen Sie sie als Administrator mit der rechten Schaltfläche -> "Als Administrator ausführen") und gehen Sie zu Ihren vagabundierten installierten Dateien. In meinem Fall: C: / VVV Sie sehen Ihre Vagrant-Datei und auch diese Ordner:
Im Ordner / www / habe ich meinen Synchronisierungsordner mit meinen Entwicklungsdomänen. Möglicherweise haben Sie Ihren Synchronisierungsordner an einem anderen Ort. Stellen Sie jedoch sicher, dass Sie verstehen, was Sie tun. Auch / config und / database sind Synchronisierungsordner.
2- Führen Sie diesen Befehl aus:
vagrant package --vagrantfile Vagrantfile
(Dieser Befehl erstellt ein Paket Ihrer virtuellen Maschine unter Verwendung Ihrer Vagrantfile-Konfiguration.)
Folgendes können Sie in der Vagrant-Dokumentation zum Befehl lesen:
https://www.vagrantup.com/docs/cli/package.html
Wenn Sie fertig sind, haben Sie eine package.box-Datei.
3- Kopieren Sie alle diese Dateien (/ config, / database, Vagrantfile, package.box usw.) und fügen Sie sie auf Ihrem Computer 2 genau dort ein, wo Sie Ihre virtuelle Maschine installieren möchten (in meinem Fall D: / VVV).
Jetzt haben Sie eine Kopie von allem, was Sie auf Ihrem Computer 2-Host benötigen.
4- Führen Sie Folgendes aus:
vagrant box add package.box --name VVV
(Der Name wird verwendet, um Ihre virtuelle Maschine zu benennen. In meinem Fall heißt er VVV.) (Sie können --force verwenden, wenn Sie bereits eine virtuelle Maschine mit diesem Namen haben und diese überschreiben möchten. (Vorsichtig verwenden!))
Dadurch wird Ihre neue virtuelle Vagrant-Maschine entpackt.
5- Wenn Sie fertig sind, führen Sie Folgendes aus:
vagrant up
Die Maschine wird installiert und sollte auf dem "Oracle Virtual Machine Box Manager" angezeigt werden. Wenn Sie die virtuelle Maschine nicht sehen können, versuchen Sie, die Oracle VM-Box als Administrator auszuführen (Rechtsklick -> Als Administrator ausführen).
Sie haben jetzt vielleicht alles in Ordnung, aber denken Sie daran, ob Ihre Gastgeber Ihren Erwartungen entsprechen:
6- Vielleicht ist es eine gute Idee, Ihre Host-Datei von Ihrem Computer 1 auf Ihren Computer 2 zu kopieren. Oder kopieren Sie die Zeilen, die Sie benötigen. In meinem Fall sind dies die Hosts, die ich brauche:
Wobei 192.168.50.4 die IP meiner virtuellen Maschine ist und test.dev und vvv.dev Hosts entwickeln.
Ich hoffe das kann dir helfen :) Ich freue mich, wenn du dir ein Feedback gibst.
Einige Besonderheiten meines Falles, die Sie vielleicht finden:
Als ich vagabundierte, gab es ein Problem mit MySQL, es funktionierte nicht. Ich musste auf dem virtuellen Server laufen (Rechtsklick auf die virtuelle Oracle-Maschine -> Konsole anzeigen):
apt-get install mysql-server
Danach lief ich wieder vagabundierend und alles funktionierte aber ohne Daten in den Datenbanken. Also habe ich eine mysqldump-All-Tabelle von Computer 1 erstellt und auf Computer 2 hochgeladen.
SONSTIGE HINWEISE: Meine virtuelle Maschine befindet sich nicht genau auf Computer 1 und Computer 2. Beispielsweise habe ich vor einiger Zeit eine interne Konfiguration für die Verwendung von NFS (zur Beschleunigung der Server-Synchronisierungsordner) vorgenommen und musste diesen Befehl auf Computer 2 erneut ausführen Gastgeber:
vagrant plugin install vagrant-winnfsd
quelle
Wie angegeben in
Wie kann ich ändern, wo Vagrant nach seiner virtuellen Festplatte sucht?
Der Status der virtuellen Maschine wird in einem vordefinierten VirtualBox-Ordner gespeichert. Durch das Kopieren der entsprechenden Maschine (Ordner) neben Ihrem Vagrant-Projekt auf Ihren anderen Host sollte der Status Ihrer virtuellen Maschine erhalten bleiben.
quelle
Ab 2019 gibt es einen Unterbefehl:
vagrant box repackage
Sie können finden
name
provider
undversion
durch Laufenvagrant box list
Die Ausgabe von
vagrant box repackage
ist eine Datei namens,package.box
die im Grunde eine TGZ-Datei ist, deren Inhalt wie folgt aufgelistet werden kann:quelle