A user mode nfs server implemented in a container. Supports serving NFS (v3, 4.0, 4.1, 4.1 pNFS, 4.2) and 9P. This container should also be configurable with all of the nfs-ganesha supported FSAL backends.
Currently generates a config for just serving a local path over nfs. However supplying GANESHA_CONFIGFILE
would allow ganesha to be pointed to a bind mounted config file for other FASLs/more advanced configuration.
- ganesha: 2.7
- glusterfs-common: 10
GANESHA_LOGFILE
: log file locationGANESHA_CONFIGFILE
: location of ganesha.confGANESHA_OPTIONS
: command line options to pass to ganeshaGANESHA_EPOCH
: ganesha epoch valueGANESHA_EXPORT_ID
: ganesha unique export idGANESHA_EXPORT
: export locationGANESHA_ACCESS
: export access acl listGANESHA_ROOT_ACCESS
: export root access acl listGANESHA_NFS_PROTOCOLS
: nfs protocols to supportGANESHA_TRANSPORTS
: nfs transports to supportGANESHA_BOOTSTRAP_CONFIG
: write fresh config file on startSTARTUP_SCRIPT
: location of a shell script to execute on start
EXPORT
{
# Export Id (mandatory, each EXPORT must have a unique Export_Id)
Export_Id = ${GANESHA_EXPORT_ID};
# Exported path (mandatory)
Path = ${GANESHA_EXPORT};
# Pseudo Path (for NFS v4)
Pseudo = /;
# Access control options
Access_Type = RW;
Squash = No_Root_Squash;
Root_Access = "${GANESHA_ROOT_ACCESS}";
Access = "${GANESHA_ACCESS}";
# NFS protocol options
Transports = "${GANESHA_TRANSPORTS}";
Protocols = "${GANESHA_NFS_PROTOCOLS}";
SecType = "sys";
# Exporting FSAL
FSAL {
Name = VFS;
}
}
docker run -d \
--name nfs \
-v /local/export/path:/export \
mitcdh/nfs-ganesha \