In this post we will see how quick and fast it is to setup a NFS Server using a Docker container using itsthenetwork/nfs-server-alpine.
If you would like to install NFS Server using a non-docker based deployment, you can have a look at installing nfs server on ubuntu
Overview
On our host we will use the local path: /data/docker-volumes to mount inside the container to /data and expose the port 2049 from the container to the host.
Getting Started
I'm assuming that you have docker and docker-compose installed.
Create the local directory:
$ mkdir -p /data/docker-volumesNext, create the docker-compose.yml
version: "2.1"
services:
# https://hub.docker.com/r/itsthenetwork/nfs-server-alpine
nfs:
image: itsthenetwork/nfs-server-alpine:12
container_name: nfs
restart: unless-stopped
privileged: true
environment:
- SHARED_DIRECTORY=/data
volumes:
- /data/docker-volumes:/data
ports:
- 2049:2049
Boot the container:
$ docker-compose up -dTo test our NFS Server, let's install the NFS client to our host:
$ sudo apt install nfs-client -y
Now let's mount our NFS mount to our local path: /mnt:
$ sudo mount -v -o vers=4,loud 192.168.0.4:/ /mntVerify that the mount is showing:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 109G 53G 51G 52% /
192.168.0.4:/ 4.5T 2.2T 2.1T 51% /mnt
Now, create a test file on our NFS export:
$ touch /mnt/file.txtVerify that the test file is on the local path:
$ ls /data/docker-volumes/
file.txtIf you want to load this into other client's /etc/fstab:
192.168.0.4:/ /mnt nfs4 _netdev,auto 0 0Thank You
That's it. Thanks for reading, follow me on Twitter and say hi! @ruanbekker and subscribe to my newsletter.
Comments