Ни один из приведенных выше ответов не помог мне. Я 2 дня работал над тем, как перенести машину Vagrant + VirtualBox с компьютера на другой ... Это возможно!
Во-первых, вам нужно понять, что виртуальная машина отделена от вашей папки синхронизации / общего доступа. Поэтому, когда вы упаковываете свою машину, вы упаковываете ее без файлов, но с базами данных.
Что тебе необходимо сделать:
1- Откройте CMD вашего компьютера 1 хост-машина (командная строка. Откройте его как Adminitrator правой кнопкой -> «Запуск от имени администратора») и перейдите к установленным вами бродячим файлам. В моем случае: C: / VVV Вы увидите свой Vagrantfile, а также эти папки:
/config/
/database/
/log/
/provision/
/www/
Vagrantfile
...
Папка / www / - это место, где у меня есть папка синхронизации с моими доменами разработки. У вас может быть папка синхронизации в другом месте, просто убедитесь, что понимаете, что делаете. Также / config и / database - это папки синхронизации.
2- запустите эту команду: vagrant package --vagrantfile Vagrantfile
(Эта команда создает пакет вашей виртуальной машины, используя вашу конфигурацию Vagrantfile.)
Вот что вы можете прочитать в документации Vagrant о команде:
Распространенное заблуждение состоит в том, что опция --vagrantfile будет упаковывать Vagrantfile, который используется, когда vagrant init используется с этим полем. Это не вариант. Вместо этого Vagrantfile загружается и читается как часть процесса загрузки Vagrant, когда используется бокс. Для получения дополнительной информации прочтите о порядке загрузки Vagrantfile.
https://www.vagrantup.com/docs/cli/package.html
По завершении у вас будет файл package.box.
3- Скопируйте все эти файлы (/ config, / database, Vagrantfile, package.box и т.д.) и вставьте их на свой компьютер 2 именно там, где вы хотите установить свою виртуальную машину (в моем случае D: / VVV).
Теперь у вас есть копия всего необходимого на вашем компьютере 2 хоста.
4- запустите это: vagrant box add package.box --name VVV
(--Name используется для имени вашей виртуальной машины. В моем случае она называется VVV) (Вы можете использовать --force, если у вас уже есть виртуальная машина с этим именем и вы хотите ее перезаписать. (Используйте осторожно!))
Это распакует вашу новую бродячую виртуальную машину.
5- Когда закончите, запустите:
vagrant up
Машина установится, и вы должны увидеть это в диспетчере виртуальных машин Oracle. Если вы не видите виртуальную машину, попробуйте запустить окно виртуальной машины Oracle от имени администратора (щелкните правой кнопкой мыши -> Запуск от имени администратора)
Теперь у вас все в порядке, но не забудьте проверить, соответствуют ли ваши хосты вашим ожиданиям:
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 разрабатывают хосты.
Надеюсь, это поможет вам :) Буду рад, если вы поделитесь своим мнением.
Некоторые особенности моего дела, которые вы можете найти:
Когда я запустил vagrant, возникла проблема с mysql, он не работал. Мне пришлось запустить виртуальный сервер (щелкните правой кнопкой мыши виртуальную машину oracle -> Показать консоль):apt-get install mysql-server
После этого я снова запустил vagrant up, и все работало, но без данных в базах данных. Итак, я сделал mysqldump all-table с компьютера 1 и загрузил их на компьютер 2.
ДРУГИЕ ЗАМЕЧАНИЯ:
Моя виртуальная машина находится не совсем на Компьютере 1 и Компьютере 2. Например, некоторое время назад я сделал внутреннюю конфигурацию для использования NFS (для ускорения папок синхронизации сервера), и мне нужно было снова запустить эту команду на Компьютере 2 хост:vagrant plugin install vagrant-winnfsd