Бродяга уничтожен на хосте закрыт, 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