Отказано в доступе к контейнеру Docker для доступа к общему ресурсу NFS - Docker Compose - PullRequest
0 голосов
/ 12 ноября 2019

У меня проблема с монтированием NAS WD MyCloud EX2 в качестве общего ресурса NFS для комбинации контейнеров Nextcloud и MariaDB с использованием Docker Compose. Когда я запускаю docker-compose up -d, я получаю сообщение об ошибке:

Creating nextcloud_app_1 ... error

ERROR: for nextcloud_app_1  Cannot create container for service app: b"error while mounting volume with options: type='nfs' device=':/mnt/HD/HD_a/nextcloud' o='addr=192.168.1.73,rw': permission denied"

ERROR: for app  Cannot create container for service app: b"error while mounting volume with options: type='nfs' device=':/mnt/HD/HD_a/nextcloud' o='addr=192.168.1.73,rw': permission denied"
ERROR: Encountered errors while bringing up the project.

Вот docker-compose.yml (вся конфиденциальная информация заменена на < скобки >:

Version: '2'

volumes:
  nextcloud:
    driver: local
    driver_opts:
      type: nfs
      o: addr=192.168.1.73,rw
      device: ":/mnt/HD/HD_a/nextcloud"
  db:

services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=<****>
      - MYSQL_PASSWORD=<****>
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - NEXTCLOUD_ADMIN_USER=<****>
      - NEXTCLOUD_ADMIN_PASSWORD=<****>

  app:
    image: nextcloud
    ports:
      - 8080:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    restart: always

ISSHd в поле NAS, чтобы проверить / etc / exports и, конечно же, он использовал all_squash, поэтому я изменил это.

Вот файл / etc / exports на коробке NAS:

    "/nfs/nextcloud" 192.168.1.73(rw,no_root_squash,sync,no_wdelay,insecure_locks,insecure,no_subtree_check,anonuid=501,anongid=1000)
    "/nfs/Public" 192.168.1.73(rw,no_root_squash,sync,no_wdelay,insecure_locks,insecure,no_subtree_check,anonuid=501,anongid=1000)

Затем я обновил сервис с помощью exportfs -a

Ничего не изменилось - docker-compose выдает ту же ошибку. И я удаляю все контейнеры и изображения и перезагружаю образ каждый раз, когда пытаюсь собрать.

Я прочитал похожие вопросы и сделал все, что мог придумать. Я также знаю, что это проблема с контейнером, потому что я могу получить доступ к общему ресурсу NFS из командной строки благодаря настройкам в /etc/fstabs.

Что еще мне здесь делать?

Ответы [ 2 ]

0 голосов
/ 15 ноября 2019

Я исправил это, удалив записи anonuid=501,anongid=1000 в файле /etc/exports блока NAS, и мне также удалось ввести неправильный IP-адрес - блок NAS не предоставлял доступ к компьютеру Ubuntu, который пытался подключиться кэто.

0 голосов
/ 12 ноября 2019

Попробуйте проверить с помощью командной строки ini nextcloud папку "ls -l / var / www / html", увидеть группы и пользователей, которые могут получить к ней доступ

...