Vagrant同步文件夹选项
在主机和虚拟机之间实现漫游NFS“同步文件夹”的最佳方法是什么 总的来说,我最终能够让NFS正常工作,但它需要在VM中进行一些调整;我不知道如何将这些更改自动化以供其他人使用 具体来说,我必须修改/etc/passwd和/etc/group中的UID/GID,以匹配导出文件系统的用户/组的UID/GID。(例如,主机使用502:20,VM apache用户也必须设置为使用502:20) 如果没有此更改,我会遇到各种各样的权限/所有权问题,从而阻止web应用程序运行。通过UID/GID匹配,一切都很好 我已经阅读了所有我能找到的文件,包括流浪汉网站 附带说明:我还尝试了本机文件夹同步(速度非常慢)和rsync(100%CPU…无法使用) NFS似乎是性能的赢家,但我的设置很粗略 如果有什么不同,我将与以下人员合作:Vagrant同步文件夹选项,vagrant,nfs,vmware-fusion,vagrantfile,Vagrant,Nfs,Vmware Fusion,Vagrantfile,在主机和虚拟机之间实现漫游NFS“同步文件夹”的最佳方法是什么 总的来说,我最终能够让NFS正常工作,但它需要在VM中进行一些调整;我不知道如何将这些更改自动化以供其他人使用 具体来说,我必须修改/etc/passwd和/etc/group中的UID/GID,以匹配导出文件系统的用户/组的UID/GID。(例如,主机使用502:20,VM apache用户也必须设置为使用502:20) 如果没有此更改,我会遇到各种各样的权限/所有权问题,从而阻止web应用程序运行。通过UID/GID匹配,一切都
- 主机:OS X 10.9.2
- 流浪汉:1.5.4
- 提供商:VMware Fusion
- 包厢:厨师长/centos-6.5
- 开发应用程序:Magento 1.8
- bindfs
GitLab在弃用Vagrant作为开发方法之前,使用的是
bindfs
甚至还有一个流浪者插件:
相关文件行:
在Vagrantfile中,可以将当前uid/gid分配给nfs映射。(请参见设置后的主机/etc/exports。) 使用Puppet作为provisioner,您可以生成以下值:
config.vm.provision :puppet, :facter => {
"host_uid" => config.nfs.map_uid,
"host_gid" => config.nfs.map_gid,
} do |puppet| ...
因此,您可以在puppet作用域中使用它,例如
user { "www-data":
ensure => present,
uid => $::host_uid,
gid => $::host_gid,
}
我认为在chef中,自定义json选项相当于稍后在chef菜谱中使用它
Vagrant.configure("2") do |config|
config.vm.provision "chef_solo" do |chef|
# ...
chef.json = {
"map" => {
"uid" => config.nfs.map_uid,
"gid" => config.nfs.map_gid
}
}
end
end
谢谢,如果我能多投一次赞成票,我会的,这真的帮了我的忙。谢谢,我在NFS上也遇到了同样的问题,但我还没有达到你手动修复它的程度。在你的问题和Sschoon的答案之间,我现在已经把它们全部整理好了。注意bindfs性能惩罚:。这让我一直在寻找替代解决方案;)@萨姆特,那个链接死了。
user { "www-data":
ensure => present,
uid => $::host_uid,
gid => $::host_gid,
}
Vagrant.configure("2") do |config|
config.vm.provision "chef_solo" do |chef|
# ...
chef.json = {
"map" => {
"uid" => config.nfs.map_uid,
"gid" => config.nfs.map_gid
}
}
end
end