Как экспортировать бродячую виртуальную машину для ее передачи
У меня есть бродячая коробка и работает (настроена со стеком лампы). Мне нужно перенести его на другой компьютер. Как я могу экспортировать его?
Я думаю, что я могу получить файл (или файлы), который можно скопировать на другой компьютер, поэтому я могу запустить какую-то команду для импорта коробки vagrant.
6 ответов:
у вас есть два способа сделать это, я назову его грязным способом и чисто:
1. Элемент грязный путь
создайте окно из текущей виртуальной среды, используя :
http://docs.vagrantup.com/v2/cli/package.html
затем скопируйте поле на другой компьютер, добавьте его с помощью
vagrant box addи запустить его с помощьюvagrant upкак обычно.имейте в виду что файлы в вашем рабочем каталоге (с
Vagrantfile) являются общими, когда виртуальная машина загружается, так что вам нужно скопировать его на другой компьютер, а также.2. Элемент очистить путь
теоретически никогда не должно быть необходимости делать экспорт/импорт с Бродягой. Если у вас есть предвидение, чтобы использовать подготовку для настройки виртуальной среды (chef, puppet, ansible) и системы управления версиями, такой как git для вашего рабочего каталога, копирование среды было бы на этом этапе простым, как запуск:
git clone <your_repo> vagrant up
мой жесткий диск в моем Mac издавал звуковые сигналы в середине проекта, поэтому я решил установить SSD. Мне нужно, чтобы переместить мой проект с одного диска на другой. Несколько вещей, чтобы рассмотреть:
- я бродяга ж / virtualbox на Mac
- Я использую git
Это то, что сработало для меня:
1.) Copy your ~/.vagrant.d directory to your new machine. 2.) Copy your ~/VirtualBox\ VMs directory to your new machine. 3.) In VirtualBox add the machines one by one using **Machine** >> **Add** 4.) Run `vagrant box list` to see if vagrant acknowledges your machines. 5.) `git clone my_project` 6.) `vagrant up`У меня было несколько проблем с гостевыми дополнениями VB.
я исправил их С этим решение.
Это на самом деле довольно просто
- установить виртуальный бокс и залетный на удаленной машине
заверни свою бродячую машину
vagrant package --base [machine name as it shows in virtual box] --output /Users/myuser/Documents/Workspace/my.boxскопируйте коробку на свой пульт
init поле на удаленной машине, запустив
vagrant init [machine name as it shows in virtual box] /Users/myuser/Documents/Workspace/my.boxвыполнить
vagrant up
самый простой способ-упаковать коробку Vagrant, а затем скопировать (например,
scpилиrsync) его на другой компьютер, добавьте его иvagrant up; -)для подробных шагов, проверьте это
=>есть ли способ клонировать бродячую коробку, которая уже установлена
Как говорится в
как я могу изменить, где Бродяга ищет свой виртуальный жесткий диск?
состояние виртуальной машины хранится в предопределенной папке VirtualBox. Копирование соответствующей машины (папки) помимо вашего vagrant-проекта на другой хост должно сохранить состояние вашей виртуальной машины.
ни один из приведенных выше ответов не работал для меня. Я уже 2 дня разрабатываю способ переноса машины Vagrant + VirtualBox с одного компьютера на другой... Это возможно!
во-первых, вы должны понимать, что виртуальная машина отделена от синхронизации / общая папка. Поэтому, когда вы упаковываете свою машину, вы упаковываете ее без своих файлов, но с базами данных.
что нужно делать:
1-Откройте CMD вашего компьютера 1 хост машина (командной строки. Откройте его как Adminitrator с помощью правой кнопки - > "Запуск от имени администратора") и перейдите к установленным файлам vagrant. На мой случай: C:/VVV Вы увидите свой Vagrantfile и эти папки:
/config/ /database/ /log/ /provision/ /www/ Vagrantfile ...папка /www / находится там, где у меня есть папка синхронизации с доменами разработки. Вы можете иметь свою папку синхронизации в другом месте, просто не забудьте понять, что вы делаете. Также /config и / database-это папки синхронизации.
2 - запустить этот команда:
vagrant package --vagrantfile Vagrantfile(эта команда выполняет пакет вашей виртуальной машины, используя конфигурацию Vagrantfile.)
вот что вы можете прочитать в документации Vagrant о команде:
распространенное заблуждение заключается в том, что параметр --vagrantfile будет упаковывать a Vagrantfile, который используется, когда vagrant init используется с этой коробкой. Этот это не так. Вместо этого Vagrantfile загружается и читается как часть бродячий процесс нагрузки когда коробка используется. За дополнительной информацией, читайте о заказе загрузки Vagrantfile.
https://www.vagrantup.com/docs/cli/package.html
когда finnished, вы будете иметь пакет.файл коробки.
3 - скопируйте все эти файлы (/config, / database, Vagrantfile, package.коробка, etc.) и вставьте их на свой компьютер 2 именно там, где вы хотите установить свою виртуальную машину (в моем случае D:/VVV).
теперь у вас есть скопировать все необходимое на компьютер, 2 хозяина.
4 - запустите этого:
vagrant box add package.box --name VVV(имя --используется для имени виртуальной машины. В моем случае это называется VVV) (Вы можете использовать --force, если у вас уже есть виртуальная машина с этим именем и вы хотите ее перезаписать. (Используйте осторожно !))
это распакует вашу новую виртуальную машину vagrant.
5 - когда finnished, бегите:
vagrant upмашина установите и вы должны увидеть его на "Oracle virtual machine box manager". Если вы не видите виртуальную машину, попробуйте запустить Oracle VM box от имени администратора (щелкните правой кнопкой мыши -> Запуск от имени администратора)
теперь вы можете иметь все в порядке, но не забудьте посмотреть, если ваши хозяева, как вы ожидали:
c:/windows/system32/hosts6 - может быть, это хорошая идея, чтобы скопировать файл host с компьютера 1 на компьютер 2. Или скопируйте нужные строки. В моем случае это хозяева я нужно:
192.168.50.4 test.dev 192.168.50.4 vvv.dev ...где 192.168.50.4-это IP-адрес моей виртуальной машины и теста.Дев и ВВВ.Дэв развиваются хозяев.
Я надеюсь, это может помочь вам :) я буду рад, если вы обратная связь перейти.
некоторые особенности моего случая, которые вы можете найти:
когда я побежал бродяга вверх, была проблема с mysql, он не работал. Я должен был работать на виртуальном сервере (щелкните правой кнопкой мыши на виртуальной машине oracle - > показать консоль):
apt-get install mysql-serverпосле этого я снова побежал бродяга вверх и все работало, но без данных по базам данных. Поэтому я сделал mysqldump all-tables с компьютера 1 и загрузил их на компьютер 2.
ДРУГИЕ ПРИМЕЧАНИЯ: Моя виртуальная машина не совсем на компьютер 1 и компьютер 2. Например, я сделал некоторое время назад внутреннюю конфигурацию для использования NFS (для ускорения синхронизации папок сервера), и мне нужно было снова запустить эту команду на компьютере 2 хоста:
vagrant plugin install vagrant-winnfsd

Comments