Nessuna delle risposte precedenti ha funzionato per me. Ho passato 2 giorni a studiare il modo di migrare una macchina Vagrant + VirtualBox da un computer a un altro ... È possibile!
Innanzitutto, devi capire che la macchina virtuale è separata dalla tua cartella di sincronizzazione / condivisa. Quindi, quando impacchettate la vostra macchina, la impacchettate senza i vostri file, ma con i database.
Cosa devi fare:
1- Apri il CMD del tuo computer 1 macchina host (Riga di comando. Aprilo come amministratore con il tasto destro -> "Esegui come amministratore") e vai ai file installati da vagabondo. Nel mio caso: C: / VVV Vedrai il tuo Vagrantfile e anche queste cartelle:
/config/
/database/
/log/
/provision/
/www/
Vagrantfile
...
La cartella / www / è dove ho la mia cartella di sincronizzazione con i miei domini di sviluppo. Potresti avere la tua cartella di sincronizzazione in un altro posto, assicurati solo di capire cosa stai facendo. Inoltre / config e / database sono cartelle di sincronizzazione.
2- esegui questo comando: vagrant package --vagrantfile Vagrantfile
(Questo comando fa un pacchetto della tua macchina virtuale usando la configurazione di Vagrantfile.)
Ecco cosa puoi leggere nella documentazione di Vagrant sul comando:
Un malinteso comune è che l'opzione --vagrantfile impacchetterà un Vagrantfile che viene usato quando si usa vagrant init con questa scatola. Questo non è il caso. Invece, un Vagrantfile viene caricato e letto come parte del processo di caricamento di Vagrant quando viene utilizzata la casella. Per ulteriori informazioni, leggi l'ordine di caricamento di Vagrantfile.
https://www.vagrantup.com/docs/cli/package.html
Quando hai finito, avrai un file package.box.
3- Copia tutti questi file (/ config, / database, Vagrantfile, package.box, ecc.) E incollali sul tuo Computer 2 proprio dove vuoi installare la tua macchina virtuale (nel mio caso D: / VVV).
Ora hai una copia di tutto ciò di cui hai bisogno sul tuo computer 2 host.
4- esegui questo: vagrant box add package.box --name VVV
(Il --name è usato per nominare la tua macchina virtuale. Nel mio caso si chiama VVV) (Puoi usare --force se hai già una macchina virtuale con questo nome e vuoi sovrascriverla. (Usa con attenzione!))
Questo decomprimerà la tua nuova macchina virtuale vagabonda.
5- Al termine, eseguire:
vagrant up
La macchina verrà installata e dovresti vederla nel "gestore della scatola della macchina virtuale Oracle". Se non riesci a vedere la macchina virtuale, prova a eseguire la casella Oracle VM come amministratore (fai clic con il tasto destro -> Esegui come amministratore)
Ora potresti avere tutto a posto, ma ricorda di vedere se i tuoi host sono come ti aspettavi:
c:/windows/system32/hosts
6- Forse è una buona idea copiare il tuo file host dal tuo Computer 1 al tuo Computer 2. Oppure copia le righe che ti servono. Nel mio caso questi sono gli host di cui ho bisogno:
192.168.50.4 test.dev
192.168.50.4 vvv.dev
...
Dove 192.168.50.4 è l'IP della mia macchina virtuale e test.dev e vvv.dev stanno sviluppando host.
Spero che questo possa aiutarti :) Sarò felice se fornirai un feedback sul tuo passaggio.
Alcune particolarità del mio caso che potresti trovare:
Quando ho corso vagabondo, c'era un problema con mysql, non funzionava. Ho dovuto eseguire sul server virtuale (fare clic con il tasto destro sulla macchina virtuale Oracle -> Mostra console):apt-get install mysql-server
Dopo questo, sono corso di nuovo vagabondo e tutto funzionava ma senza dati sui database. Quindi ho eseguito un mysqldump di tutte le tabelle dal Computer 1 e le ho caricate sul Computer 2.
ALTRE NOTE: La
mia macchina virtuale non è esattamente su Computer 1 e Computer 2. Ad esempio, ho fatto qualche tempo fa una configurazione interna per utilizzare NFS (per velocizzare le cartelle di sincronizzazione del server) e avevo bisogno di eseguire nuovamente questo comando sul Computer 2 ospite:vagrant plugin install vagrant-winnfsd