Бродяга уничтожен на хосте закрыт, Windows
После работы в Vagrant VM и внесения некоторых изменений я приостановлю виртуальную машину, используя брандмауэр. Если я затем перезапущу главный компьютер, а затем попытаюсь запустить брандмауэр-резюме, терминал сидит немного, а затем возвращает меня в командную строку без обратной связи. Поэтому, естественно, я тогда пытаюсь использовать бродячие ssh, и я получаю следующее:
VM должна запускаться для открытия SSH-соединения. Запустите vagrant up
, чтобы запустить виртуальную машину.
Если я запустил бродягу, я обнаружил, что все изменения, внесенные мной до приостановки, были перезаписаны при импорте базового поля.
Является ли это предполагаемым поведением? Я операционная Windows 8 pro x64.
Ответы
Ответ 1
Это случается со мной время от времени, я перезагружаюсь и нет никаких следов моей бродящей машины. Даже запуск vboxmanage list vms
не отображает мою виртуальную машину, но если я снова перезагружу компьютер, и на этот раз я открою GUI Virtualbox перед тем, как попытаться сделать vboxmanage list vms
(или не открывать его сначала в зависимости от того, каким образом не удалось выполнить предыдущую попытку) и он перечислит мою машину-бродягу и ее идентификатор.
Вооруженный этим идентификатором, я могу войти в .vagrant/machines/default/virtualbox/и создать файл с именем "id" и добавить одну строку, содержащую идентификатор бродящей машины. И после этого вы можете запустить его с помощью vagrant up
, вероятно, безопасно добавить --no-provision, хотя, как оказалось, он начал подготовку, даже если машина уже существовала.
Ответ 2
Идея бродяги состоит в том, чтобы использовать базовый ящик, а затем создавать настройки с помощью методов создания. Поэтому всегда vagrant destroy
(удаляет все данные виртуальной машины), а vagrant up
строит поле снова, на основе базового поля, должен работать.
В любом случае, вы не сделали vagrant destroy
, данные все равно должны быть там.
Если вы сделали vagrant suspend
, что означает, что состояние ящиков заблокировано виртуальным ящиком.
Далее вы должны сделать vagrant resume
: http://docs.vagrantup.com/v2/cli/resume.html
Но если вы сделали vagrant up
между ними, данные могут быть потеряны. Вы можете открыть графический интерфейс VirtualBox и посмотреть, сохранились ли еще сохраненные снимки.
Ответ 3
Я бы предложил создать каталог проекта для каждой виртуальной машины, которую вы планируете использовать. Если вы перейдете в эту пустую директорию проекта перед тем, как сделать vagrant init
, для этого проекта /VM будет создан выделенный Vagrantfile
, который затем может быть настроен под ваши нужды. Чтобы использовать этот настроенный Vagrantfile
, просто запустите vagrant up
из каталога ваших проектов. Не уверен, что это решает вашу проблему, но стоит попробовать, я думаю.; -)
Btw. вы можете проверить, работает ли ваша виртуальная машина с помощью команды vagrant status [machine-name]
.
Ответ 4
Недавно я столкнулся с несколько схожей ситуацией и, в конечном счете, обнаружил, что существует сценарий, в котором "бродячая приостановка" эффективно уничтожает виртуальную машину. Это работает Vagrant на хосте Windows с Virtual Box 4.3.14 как поставщик виртуализации. Роллинг Virtual Box обратно в 4.3.12 - это способ обойти эту проблему. Подробности здесь: https://github.com/mitchellh/vagrant/issues/4276