使用nfs来设置vagrant的默认文件夹

时间:2014-10-27 19:22:48

标签: vagrant vagrantfile

我想将一个大项目(5000个文件)迁移到使用virtualbox的vagrant。 众所周知,Virtualbox共享文件夹对大项目来说很慢,所以我想使用NFS。

但是,我找不到使用NFS而不是默认共享文件夹问题的正确方法。当我将代码放在另一个文件夹中并共享它时,它可以工作。但我想将Vagrant整合到当前版本中。

config.vm.synced_folder '.', '/vagrant', nfs: true

不起作用:

exportfs: duplicated export entries:
exportfs:   10.11.12.13:/home/vincent/workspace/gp
exportfs:   10.11.12.13:/home/vincent/workspace/gp

有什么想法解决这个奇怪的问题吗?

谢谢。

更新1

与这些参数相同的错误

config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.synced_folder ".", "/home/vagrant/gp", nfs: true

这是完整的错误堆栈:

nfsd running
exportfs: duplicated export entries:
exportfs:   10.11.12.13:/home/vincent/workspace/gp
exportfs:   10.11.12.13:/home/vincent/workspace/gp
==> default: Mounting NFS shared folders...
Vagrant::Errors::LinuxNFSMountFailed: The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

mount -o 'vers=3,udp' 10.11.12.1:'/home/vincent/workspace/gp' /home/vagrant/gp

Stdout from the command:



Stderr from the command:

stdin: is not a tty
mount.nfs: access denied by server while mounting 10.11.12.1:/home/vincent/workspace/gp

2 个答案:

答案 0 :(得分:2)

您可能需要通过在Vagrantfile中添加以下行来显式禁用默认的同步文件夹,以便将NFS共享挂载到/vagrant

config.vm.synced_folder“。”,“/ vagrant”,禁用:true

然后执行vagrant reload并查看它是否有效。

此外,考虑使用rsync类型的同步文件夹作为您的用例,我认为它的效果更好。见https://docs.vagrantup.com/v2/synced-folders/rsync.html

答案 1 :(得分:0)

如果您尝试在另一个先前创建的vm上方的目录中创建vm,也可以收到此错误消息。您需要销毁每个子目录中的vm。