Жодна з наведених відповідей не працювала для мене. Я вже 2 дні розробляю спосіб перенесення машини Vagrant + VirtualBox з комп'ютера на інший ... Це можливо!
По-перше, вам потрібно зрозуміти, що віртуальна машина відокремлена від вашої папки синхронізації / спільного використання. Отже, коли ви упаковуєте свою машину, ви упакуєте її без файлів, але з базами даних.
Що потрібно зробити:
1- Відкрийте CMD свого комп'ютера 1 хост-машина (командний рядок. Відкрийте його як адміністратор правою кнопкою -> "Запустити як адміністратор") та перейдіть до встановлених бродячих файлів. У моєму випадку: C: / VVV Ви побачите свій Vagrantfile і ці папки:
/config/
/database/
/log/
/provision/
/www/
Vagrantfile
...
/ Www / папка - це те, де у мене є папка синхронізації зі своїми областями розвитку. У вас може бути папка синхронізації в іншому місці, просто не забудьте зрозуміти, що ви робите. Також / config та / database є папками синхронізації.
2- виконати цю команду: vagrant package --vagrantfile Vagrantfile
(Ця команда виконує пакет вашої віртуальної машини, використовуючи конфігурацію Vagrantfile.)
Ось що ви можете прочитати в документації Vagrant про команду:
Поширене помилкове уявлення про те, що параметр --vagrantfile буде пакувати Vagrantfile, який використовується, коли з цим полем використовується ingrant init. Це не так. Натомість Vagrantfile завантажується та читається як частина процесу завантаження Vagrant при використанні поля. Для отримання додаткової інформації читайте про порядок завантаження Vagrantfile.
https://www.vagrantup.com/docs/cli/package.html
Після завершення роботи у вас з'явиться файл package.box.
3- Скопіюйте всі ці файли (/ config, / database, Vagrantfile, package.box тощо) та вставте їх на ваш Computer 2 саме там, де ви хочете встановити свою віртуальну машину (у моєму випадку D: / VVV).
Тепер у вас є копія всього необхідного на комп'ютері 2 хоста.
4- виконати це: vagrant box add package.box --name VVV
(Ім'я - використовується для імені вашої віртуальної машини. У моєму випадку воно називається VVV) (Ви можете використовувати --force, якщо у вас вже є віртуальна машина з цим ім'ям і хочете її перезаписати. (Використовуйте обережно!))
Це розпакує вашу нову бродячу Віртуальну машину.
5- Закінчивши, запустіть:
vagrant up
Машина встановиться, і ви повинні побачити це в "Менеджері віртуальних машин Oracle". Якщо ви не можете бачити віртуальну машину, спробуйте запустити вікно Oracle VM як адміністратор (клацніть правою кнопкою миші -> Запустити як адміністратор)
Зараз у вас може бути все гаразд, але пам’ятайте, щоб побачити, чи ваші господарі такі, як ви очікували:
c:/windows/system32/hosts
6- Можливо, це гарна ідея скопіювати свій хост-файл із комп'ютера 1 на комп'ютер 2. Або скопіюйте потрібні рядки. У моєму випадку це хости, які мені потрібні:
192.168.50.4 test.dev
192.168.50.4 vvv.dev
...
Там, де 192.168.50.4 є IP моєї віртуальної машини, і test.dev і vvv.dev розробляють хости.
Я сподіваюсь, що це може вам допомогти :) Я буду радий, якщо ви відгукуєтесь про свою поїздку.
Деякі особливості мого випадку, які ви можете знайти:
Коли я біг бродячим, виникла проблема з mysql, вона не працювала. Мені довелося запустити на віртуальному сервері (клацніть правою кнопкою миші на віртуальній машині oracle -> Показати консоль):apt-get install mysql-server
Після цього я знову побіг бродячим і все працювало, але без даних про бази даних. Тому я зробив mysqldump всі таблиці з Комп'ютера 1 і завантажив їх у Комп'ютер 2.
ДРУГІ ПРИМІТКИ:
Моя віртуальна машина знаходиться не на комп’ютері 1 та на комп’ютері 2. Наприклад, я зробив деякий час внутрішню конфігурацію для використання NFS (для прискорення папок синхронізації сервера), і мені потрібно було знову запустити цю команду на комп'ютері 2 господар:vagrant plugin install vagrant-winnfsd