The nfs-server image provides a minimal NFSv4 server.
Running the container in Docker requires:
- making the container privileged to allow it to mount the nfsd pseudo-filesystem;
- mounting a volume to
/mnt/data, the directory that will be exported; - exposing the port used for NFSv4 (2049).
For example:
docker run --privileged -v <directory>:/mnt/data:rw -p 2049:2049 \
ghcr.io/normal-computing/nfs-server:latest
where <directory> is the path of the directory you want to serve.
The directory can then be mounted:
sudo mount -v -t nfs4 -o proto=tcp,port=2049 127.0.0.1:/ <target>
where <target> is the mount point.
The following environment variables affect the NFS server:
NFS_SERVER_DEBUG: if set to1, enable debug logs for NFS server daemons (default:0).NFS_SERVER_ALLOWED_CLIENTS: the network address to allow connections from (default:172.16.0.0/12, used by Docker on Linux for all networks).