Debian 12 bookworm
Sponsored Link

Docker : Use External Storage (NFS)2023/06/22

 
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": "2023-06-22T02:27:22-05:00",
        "Driver": "local",
        "Labels": {},
        "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 debian
root@7a09e30a9c8d:/#
df -hT /nfsshare

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

# verify reading and writing

root@7a09e30a9c8d:/#
echo "NFS Volume Test" > /nfsshare/testfile.txt

root@7a09e30a9c8d:/#
cat /nfsshare/testfile.txt

NFS Volume Test
Matched Content