Общие папки

virtualbox1_2

Еще одна интересная особенность VirtualBox — общие папки, дающие возможность легко обмениваться файлами между гостевой и хост-машинами. Разумеется, Vagrant предоставляет удобный способ настройки данной опции. Все, что нужно, — это немного поправить конфигурационный файл:
Vagrant::Config.run do |config|
config.vm.shareholder «data», «/data», «data» end
Важно заметить также, что папки, использующие протокол NFS (Network File System), показывают лучшую производительность, нежели общие папки виртуалбокса. С другой стороны, NFS не поддерживается на хостах с Windows. Для того чтобы использовать NFS вместо VirtualBox shared folders, необходимо это явно указать в настройках:
Vagrant::Config.run do |config[
config.vm.share_folder(«data», «/data», «data»,
:nfs => true) end
Снэпшоты и песочница
Поскольку Vagrant предоставляет гибкий АРI для расширения своего функционала, неудивительно, что существует немалое количество плагинов для Vagrant, решающих самые различные задачи. На случай, если у тебя появятся новые идеи, какие новые возможности можно добавить в вагрант, — в документации есть специальный раздел, содержащий все необходимые настройки и примеры lbit.lv/126ilsMl.
Sahara
Плагин представляет собой песочницу для виртуальных машин: если что-то поломалось, можно легко и просто откатить до последнего снэпшота. Плагин является руби-гемом (что вполне ожидаемо) и называется sahara (https://github.,com/ieidiuever/sahara). После его установки в вагранте появляется дополнительная команда — vagrant sandbox. Типичный пример использования выглядит так. Включаем режим песочницы:
$ vagrant sandbox on
Производим определенные действия (работаем с файлами, меняем настройки и прочее):
$ vagrant ssh
Если результат работы нас удовлетворил — сохраняем сделанные изменения:
$ vagrant sandbox commit
В противном случае откатываем неугодные правки:
$ vagrant sandbox rollback
И выходим из режима песочницы:
$ vagrant sandbox off