Ubuntu 24.04
Sponsored Link

Docker : Use External Storage (NFS)2024/06/13

 

This is an example to use NFS External Storage.

[1]

NFS server is required to be running on your LAN, refer to here.
On this example, configure [/home/nfsshare] directory on [nfs.srv.world] as a shared directory.

[2] Create a volume for NFS and use it.
# create [nfs-volume] volume

root@dlp:~# docker volume create \
--opt type=nfs \
--opt o=addr=10.0.0.35,rw,nfsvers=4 \
--opt device=:/home/nfsshare nfs-volume 
nfs-volume

# display volume list

root@dlp:~#
docker volume ls

DRIVER    VOLUME NAME
local     nfs-volume

# display details of [nfs-volume]

root@dlp:~#
docker volume inspect nfs-volume

[
    {
        "CreatedAt": "2024-06-13T00:54:21Z",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/nfs-volume/_data",
        "Name": "nfs-volume",
        "Options": {
            "device": ":/home/nfsshare",
            "o": "addr=10.0.0.35,rw,nfsvers=4",
            "type": "nfs"
        },
        "Scope": "local"
    }
]

# run container with mounting [nfs-volume] to [/nfsshare] on container

root@dlp:~#
docker run -it -v nfs-volume:/nfsshare ubuntu
root@0217cadf7714:/#
df -hT /nfsshare

Filesystem      Type  Size  Used Avail Use% Mounted on
:/home/nfsshare nfs4   28G  6.7G   20G  26% /nfsshare

# verify reading and writing

root@0217cadf7714:/#
echo "NFS Volume Test" > /nfsshare/testfile.txt

root@0217cadf7714:/#
cat /nfsshare/testfile.txt

NFS Volume Test
Matched Content