Предполагается, что Vagrant Provision сотрет все ваши данные

Я только что запустил vagrant provision в тщетной попытке заставить мою настроенную директиву synced_folders работать, и теперь весь мой гостевой ящик уничтожен.

Это нормально? Я не вижу никаких ссылок на документы Vagrant об этом поведении.

Согласно документу:

Provisioners в Vagrant позволяют автоматически устанавливать программное обеспечение, изменять конфигурации и многое другое на машине в рамках процесса vagrant up.

Единственное, что у меня есть в моих командах оболочки конфигурации, это команды установки. Ни слова о том, чтобы что-то стереть.

У меня есть app.vm.provision для puppet, который устанавливает полное доменное имя, имя пользователя и имя ящика (наряду с обычным module_path, manifests_path и manifests_file). Может быть, это привело к тому, что вещи были сброшены?


person earth2jason    schedule 07.08.2015    source источник
comment
Какие конкретно данные?   -  person Don Branson    schedule 07.08.2015
comment
@Дон Брэнсон, все данные. Все вытерто. В основном учетные записи пользователей были созданы снова. За исключением того, что на этот раз без настроек, которые у меня были при первоначальном бродяжничестве. Просто установка Ubuntu с голыми костями с пользователями Vagrant, Ubuntu и мной.   -  person earth2jason    schedule 07.08.2015
comment
Я понял проблему, как описано ниже. Здесь можно найти дополнительный вопрос - stackoverflow.com/questions/31895881/   -  person earth2jason    schedule 08.08.2015
comment
используйте 1_   -  person Connor Leech    schedule 11.08.2020


Ответы (2)


Ответ

Предполагается, что Vagrant Provision сотрет все ваши данные?

Нет. Vagrant никогда не должен наносить вред вашим «данным» (т. е. веб-сайтам, коду и т. д.).

... теперь весь мой гостевой ящик уничтожен. Это нормально?

Да. Ваша среда Vagrant (другими словами, гостевая операционная система, созданная Vagrant в виртуальной среде) является изменчивой, и вы должны иметь возможность уничтожить и воссоздать ее по своему желанию, не оказывая никакого влияния на ваши рабочие файлы (поскольку они должны храниться в ваша локальная или хостовая файловая система).

Объяснение

На веб-сайте Vagrant самое первое, что вам говорят, это:

Создавайте и настраивайте легкие, воспроизводимые и переносимые среды разработки.

Ваша среда разработки позволяет вам работать. Вы работаете с своими данными в в рабочей среде разработки. Когда вы закончите со своей «рабочей средой разработки», вы сможете свободно удалить ее, нисколько не повлияв на свои данные.

Кроме того, вы должны иметь возможность отправить сотрудничающему с вами разработчику ваш Vagrantfile, чтобы он мог создать точно такую ​​же среду разработки, которую вы использовали для создания своих данных (т. е. написать свою программу, создать свой веб-сайт и т. ). Затем, когда вы предоставите им свой код, они смогут использовать его в среде, идентичной той, в которой был создан ваш код, без необходимости перенастраивать свои собственные настройки.

Для получения дополнительной информации о том, как ваши файлы данных (код, рабочие файлы и т. д.) безопасно хранятся на вашем компьютере, делая их доступными для вашей гостевой системы, созданной Vagrant, см. мой ответ этот вопрос.

person unrivaledcreations    schedule 07.08.2015
comment
Спасибо за ответ, @unrivaledcreations. Я согласен с вашим мнением, но я не думаю, что это отвечает на вопрос, а скорее говорит о соглашении. Я согласен с вашим соглашением (или с тем, что кажется нормальным соглашением) и ценю вашу ссылку, а также буду ее изучать. - person earth2jason; 07.08.2015

Итак, что, по-видимому, произошло, так это то, что когда я настроил синхронизированную папку, она уничтожила все, потому что на моем хост-компьютере в этой синхронизированной папке ничего не было. Если нет способа восстановить потерянные данные, в их документах должно быть безошибочное ПРЕДУПРЕЖДЕНИЕ о том, что это может произойти.

Я настроил synced_folder так, чтобы он находился во всем моем домашнем каталоге. Когда я создал новую машину, я клонировал один проект, который я сохранил, и решил на этот раз просто синхронизировать свои отдельные проекты, а не весь мой пользовательский каталог. Когда я перезагрузился, каталог проекта был пуст, так как он был пуст на моем хост-компьютере.

Итак, я думаю, убедитесь, что каталоги на вашем хост-компьютере уже настроены с данными, прежде чем настраивать ваш Vagrantfile с информацией synced_folder.

person earth2jason    schedule 08.08.2015