ошибка создания оверлея для монтирования nfs

Мне проще всего заполнить массив оболочки выходом команды awk:

$ arr=( $(awk 'BEGIN{ r=10; q=20; printf "%04.0f %05.0f\n",r,q }') )
$ echo "${arr[0]}"
0010
$ echo "${arr[1]}"
00020

, тогда вы можете делать все, что захотите, в оболочке с массивом, например. заполняйте другие переменные, если хотите.

1
задан mulg0r 16 January 2019 в 12:34
поделиться

2 ответа

Вы действительно не должны запускать 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"
  ...
0
ответ дан BMitch 16 January 2019 в 12:34
поделиться

Давайте рассмотрим несколько вещей:

  1. overlay2 является драйвером хранилища по умолчанию, но, как вы можете видеть в документации драйвера хранилища докеров , действует только xfs с ftype = 1, ext4 Возможно, ваш /u01/docker находится в другой файловой системе.

  2. Если ваш /u01/docker является xfs с типом ftype = 1 или ext4, проверьте selinux отключены.

Для проверки совместимости системы поддержки с вашим оверлеем2 вы можете выполнить:

$ docker info

Containers: 0
Images: 0
Storage Driver: overlay2
 Backing Filesystem: xfs
<output truncated>
0
ответ дан mulg0r 16 January 2019 в 12:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: