@vsbeats

Как правильно настроить общие папки Vagrant?

Имеется host машина: macOS Sierra 10.12.3
Имеется vagrant box: debian 8

Пытаюсь настроить NFS общие папки между ними. Rsync не подходит, т.к нужна двухсторонняя синхронизация, vboxfs тоже не подходит, так как проект большой, очень много файлов - эта файловая система работает, но катастрофически медленно.

NFS монтируется и синхронится идеально, и сам проект работает очень шустро. Но суть проблемы в том, что примонтируемой папке выдаются owner:group - 501:dialout. Понимаю, что nfs пытается взять моего пользователя и мою группу с хост-машины (macOS) и выставить для монтируемой папки того же юзера и группу. Но - с guest машины не могу ни создать файл, ни редактировать, ни удалить (даже под рутом). Какие только костыли не перепробывал, прошурстел весь интернет, даже положил рядом с ноутбуком счастливый бубен. Безрезультатно.

Как через vagrant замоунтить папку, используя NFS, так, чтобы я мог редактировать файлы в ней непосредственно в самой виртуалке?

Vagrant 1.9.2
VirtualBox 5.1.18
  • Вопрос задан
  • 2161 просмотр
Решения вопроса 1
@vsbeats Автор вопроса
В общем решение оказалось довольно банальным и простым.
В Vagrantfile указываем тип nfs.
Так же указываем id пользователя и группы, от лица которых будут происходить манипуляции в примонтированной папке.
config.vm.synced_folder "/host/projects/mount-from-folder", "/guest/mount-to-folder", type: "nfs"

# Все действия с файлами в примонтированной папке будут производиться от лица текущего пользователя хост-машины
  config.nfs.map_uid = Process.uid 
  config.nfs.map_gid = Process.gid

 # Можно так же указать цифрами id любого юзера/группы
 # Узнать их можно посмотрев файлы /etc/passwd и /etc/group
  config.nfs.map_uid = 501
  config.nfs.map_gid = 20

Далее обязательно перезагружаем виртуальную машину с ключом --provision. Без него ничего не получалось.
vagrant reload --provision

В моём случае, проблема решилась.
Так же забыл упомянуть, что использовался плагин vagrant-vbguest.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
7workers
@7workers
NFS будет тормозить всё равно, лучше использовать virtualbox guest additions + synced_folder (без параметров, то есть vboxfs). Но там же можно задать и группу и юзер_ид:

https://www.vagrantup.com/docs/synced-folders/nfs.html
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы