Мне проще всего заполнить массив оболочки выходом команды awk:
$ arr=( $(awk 'BEGIN{ r=10; q=20; printf "%04.0f %05.0f\n",r,q }') )
$ echo "${arr[0]}"
0010
$ echo "${arr[1]}"
00020
, тогда вы можете делать все, что захотите, в оболочке с массивом, например. заполняйте другие переменные, если хотите.
Вы действительно не должны запускать 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"
...
Давайте рассмотрим несколько вещей:
overlay2 является драйвером хранилища по умолчанию, но, как вы можете видеть в документации драйвера хранилища докеров , действует только xfs с ftype = 1, ext4 Возможно, ваш /u01/docker
находится в другой файловой системе.
Если ваш /u01/docker
является xfs с типом ftype = 1 или ext4, проверьте selinux отключены.
Для проверки совместимости системы поддержки с вашим оверлеем2 вы можете выполнить:
$ docker info
Containers: 0
Images: 0
Storage Driver: overlay2
Backing Filesystem: xfs
<output truncated>