Żadna z powyższych odpowiedzi nie zadziałała dla mnie. Od 2 dni pracowałem nad sposobem migracji maszyny Vagrant + VirtualBox z komputera na inny ... To możliwe!
Najpierw musisz zrozumieć, że maszyna wirtualna jest oddzielona od folderu synchronizacji / współdzielonego. Więc kiedy pakujesz swoją maszynę, pakujesz ją bez plików, ale z bazami danych.
Co musisz zrobić:
1- Otwórz CMD komputera 1 hosta (wiersz poleceń. Otwórz go jako Administrator prawym przyciskiem -> „Uruchom jako administrator”) i przejdź do plików zainstalowanych przez włóczęgów. W moim przypadku: C: / VVV Zobaczysz swój plik Vagrant, a także te foldery:
/config/
/database/
/log/
/provision/
/www/
Vagrantfile
...
Folder / www / to miejsce, w którym mam folder synchronizacji z moimi domenami programistycznymi. Możesz mieć folder synchronizacji w innym miejscu, po prostu upewnij się, że rozumiesz, co robisz. Również / config i / database to foldery synchronizacji.
2- Uruchom to polecenie: vagrant package --vagrantfile Vagrantfile
(To polecenie wykonuje pakiet maszyny wirtualnej przy użyciu konfiguracji Vagrantfile).
Oto, co możesz przeczytać w dokumentacji Vagrant na temat polecenia:
Powszechnym błędnym przekonaniem jest to, że opcja --vagrantfile spakuje plik Vagrantfile, który jest używany, gdy w tym oknie używany jest vagrant init. Nie o to chodzi. Zamiast tego, Vagrantfile jest ładowany i odczytywany jako część procesu ładowania Vagrant, gdy pudełko jest używane. Aby uzyskać więcej informacji, przeczytaj o kolejności ładowania plików Vagrantfile.
https://www.vagrantup.com/docs/cli/package.html
Po zakończeniu otrzymasz plik package.box.
3- Skopiuj wszystkie te pliki (/ config, / database, Vagrantfile, package.box itp.) I wklej je na swój komputer 2 tam, gdzie chcesz zainstalować maszynę wirtualną (w moim przypadku D: / VVV).
Teraz masz kopię wszystkiego, czego potrzebujesz na hoście komputera 2.
4- Uruchom to: vagrant box add package.box --name VVV
(--Name służy do nazwania twojej maszyny wirtualnej. W moim przypadku nazywa się VVV) (Możesz użyć --force, jeśli masz już maszynę wirtualną o tej nazwie i chcesz ją nadpisać. (Używaj ostrożnie!))
Spowoduje to rozpakowanie nowej maszyny wirtualnej włóczęgi.
5- Po zakończeniu uruchom:
vagrant up
Maszyna zostanie zainstalowana i powinna być widoczna w „menedżerze skrzynek maszyny wirtualnej Oracle”. Jeśli nie widzisz maszyny wirtualnej, spróbuj uruchomić skrzynkę Oracle VM jako administrator (kliknij prawym przyciskiem myszy -> Uruchom jako administrator)
Teraz możesz mieć wszystko w porządku, ale pamiętaj, aby sprawdzić, czy Twoje hosty działają zgodnie z oczekiwaniami:
c:/windows/system32/hosts
6- Może dobrym pomysłem jest skopiowanie pliku hosta z komputera 1 do komputera 2. Lub skopiuj potrzebne linie. W moim przypadku są to hosty, których potrzebuję:
192.168.50.4 test.dev
192.168.50.4 vvv.dev
...
Gdzie 192.168.50.4 to adres IP mojej maszyny wirtualnej, a test.dev i vvv.dev to hosty.
Mam nadzieję, że to Ci pomoże :) Będę szczęśliwy, jeśli prześlesz nam swoją opinię.
Niektóre szczegóły mojej sprawy, które możesz znaleźć:
Kiedy podbiegłem vagrantem, wystąpił problem z mysql, nie działał. Musiałem uruchomić na serwerze wirtualnym (kliknij prawym przyciskiem myszy maszynę wirtualną Oracle -> Pokaż konsolę):apt-get install mysql-server
Potem znów pobiegłem włóczęgą i wszystko działało, ale bez danych w bazach danych. Zrobiłem więc mysqldump wszystkie tabele z komputera 1 i załadowałem je na komputer 2.
INNE UWAGI:
Moja maszyna wirtualna nie znajduje się dokładnie na komputerze 1 i komputerze 2. Na przykład jakiś czas temu dokonałem wewnętrznej konfiguracji, aby używać NFS (aby przyspieszyć synchronizację folderów serwera) i musiałem ponownie uruchomić to polecenie na komputerze 2 gospodarz:vagrant plugin install vagrant-winnfsd