Все еще немного изучаю Vagrant, но вот что. У меня довольно стандартная гостевая виртуальная машина, на которой установлено некоторое программное обеспечение. Я хотел бы получить доступ к нескольким каталогам в гостевой системе в режиме чтения/записи. Поэтому я добавил конфигурацию для общей папки следующим образом:
config.vm.share_folder "test", "/home/vagrant/test", "./test"
Имейте в виду, что у меня есть содержимое в папке test. Мне нужно иметь возможность просматривать и обновлять его с хоста. Однако, когда я 'vagrant reload' с пустым каталогом хоста под названием test, все содержимое на моем госте удаляется.
Можно ли создать общую папку, в которой я смогу получить доступ к содержимому на гостевой машине, не уничтожая существующий контент?
решение1
На случай, если у кого-то еще возникнет эта проблема, общие папки действительно синхронизируются в обоих направлениях (от хоста к гостю и от гостя к хосту), но это зависит от опции type
.
В Linux это работает «из коробки» без указания type
опции:
- Войдите в виртуальную машину.
- Добавьте файл в общую папку, например
/home/vagrant/somefile
. - Проверьте папку хоста и вы найдете новый файл.
Проблема возникает, когда вы пытаетесь синхронизировать папку после подготовки виртуальной машины. В таком случае гостевая папка будет синхронизирована с папкой хоста, которая пуста.
Читайте разныетипы общих папок.