Вы действительно не должны запускать Docker с сервером NFS в качестве резервной файловой системы. Даже если бы вы могли заставить его работать, это было бы медленно, и проблема распределения образов на несколько хостов уже была решена с помощью серверов реестра и многоразовых слоев.
Сама файловая система overlay2 задокументирована как требующая xfs с ftype = 1 или ext4 в качестве резервной файловой системы, а не NFS.
Где вы можете использовать NFS с томами, установленными в контейнеры для постоянных данных. Эти тома будут существовать вне контейнера и не будут сохраняться в реестре, поэтому их перенос в NFS имеет смысл. Вот несколько примеров различных способов монтирования тома с помощью NFS:
# create a reusable volume
$ docker volume create --driver local \
--opt type=nfs \
--opt o=nfsvers=4,addr=nfs.example.com,rw \
--opt device=:/path/to/dir \
foo
# or from the docker run command
$ docker run -it --rm \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,\"volume-opt=o=nfsvers=4,addr=nfs.example.com\",volume-opt=device=:/host/path \
foo
# or to create a service
$ docker service create \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,\"volume-opt=o=nfsvers=4,addr=nfs.example.com\",volume-opt=device=:/host/path \
foo
# inside a docker-compose file
...
volumes:
nfs-data:
driver: local
driver_opts:
type: nfs
o: nfsvers=4,addr=nfs.example.com,rw
device: ":/path/to/dir"
...