Repository: cpuguy83/docker-nfs-server Branch: master Commit: d1dedda663c7 Files: 5 Total size: 1.3 KB Directory structure: gitextract_zi6072em/ ├── Dockerfile ├── README.md ├── nfs.init ├── nfs.stop └── nfs_setup.sh ================================================ FILE CONTENTS ================================================ ================================================ FILE: Dockerfile ================================================ FROM ubuntu ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -qq && apt-get install -y nfs-kernel-server runit inotify-tools -qq RUN mkdir -p /exports RUN mkdir -p /etc/sv/nfs ADD nfs.init /etc/sv/nfs/run ADD nfs.stop /etc/sv/nfs/finish ADD nfs_setup.sh /usr/local/bin/nfs_setup RUN echo "nfs 2049/tcp" >> /etc/services RUN echo "nfs 111/udp" >> /etc/services VOLUME /exports EXPOSE 111/udp 2049/tcp ENTRYPOINT ["/usr/local/bin/nfs_setup"] ================================================ FILE: README.md ================================================ Docker NFS Server ================ Usage ---- ```bash docker run -d --name nfs --privileged cpuguy83/nfs-server /path/to/share /path/to/share2 /path/to/shareN ``` ```bash docker run -d --name nfs-client --privileged --link nfs:nfs cpuguy83/nfs-client /path/on/nfs/server:/path/on/client ``` More Info ========= See https://container42.com/2014/03/29/docker-quicktip-4-remote-volumes/ ================================================ FILE: nfs.init ================================================ #!/bin/bash . /etc/default/nfs-kernel-server . /etc/default/nfs-common rpcbind service nfs-kernel-server start exec inotifywait -m /exports ================================================ FILE: nfs.stop ================================================ #!/bin/bash service nfs-kernel-server stop kill $(pidof rpcbind) service rsyslog stop ================================================ FILE: nfs_setup.sh ================================================ #!/bin/bash set -e mounts="${@}" echo "#NFS Exports" > /etc/exports for mnt in "${mounts[@]}"; do src=$(echo $mnt | awk -F':' '{ print $1 }') mkdir -p $src echo "$src *(rw,sync,no_subtree_check,fsid=0,no_root_squash)" >> /etc/exports done exec runsvdir /etc/sv