Written by: algebnaly
Date: 2026-01-07T15:07:03.000Z
我希望在macos上运行一个nfs4服务器来向我的手机共享文件,但是macos上原生的nfs服务器的版本似乎只到3。运行一个带nfs4服务的容器看起来挺有意思的。
特别地,我希望运行一个Linux内核提供的nfs4服务器,而不是一些用户空间的nfs4服务器,如果不想折腾,可以考虑使用nfs-ganesha。
经过一番尝试,我最后成功在macos上通过podman容器运行了一个nfs4服务器。一些重要的细节如下。
首先macos运行的不是Linux内核,需要运行一个Linux虚拟机才能提供容器。由于nfs服务需要挂载nfsd文件系统,加载nfsd内核模块,因此需要rootful machine.
挂载nfsd文件系统: mount -t nfsd nfsd /proc/fs/nfsd
启动rpcbind服务: rpcbind
启动nfs4服务器: rpc.nfsd -p 2049 8
加载导出文件: exportfs -r
只需要上面的五条命令就可以启动一个最小的nfs4服务器。