Docker: ошибка при создании источника монтирования папки NFS с 750 разрешениями - PullRequest
0 голосов
/ 24 марта 2020

У меня проблема с разрешениями папки на томе NFS, которую я хочу смонтировать с хоста в контейнере Docker.

С разрешениями 777 работает без проблем вот ситуация:

  • / var / nfs / - это каталог NFS *
  • / var / nfs / test / testfile - это файл, который я буду монтировать в контейнер
ls -la /var/nfs/
# return 
drwxrwxrwx. 1 root root 186 24 mar 19.20 .
drwxr-xr-x. 6 user  user  277 24 mar 19.06 ..
-rwxrwxrwx. 1 user  user    0 24 mar 19.20 test
ls -la /var/nfs/test
# return 
drwxrwxrwx. 1 root root 178 24 mar 19.36 .
drwxr-xr-x. 6 user  user  277 24 mar 19.06 ..
drwxrwxrwx. 1 user  user   16 24 mar 19.36 test

# strange that the current folder is root...

пользователь имеет UID = 1000

id -u user
# return 1000

id -g user
# return 1000

My docker -compose.yml

  testnfs:
     image: alpine:3
     command: ["sleep","infinity"]
     user: 1000:1000
     volumes:
      - /var/nfs/test/testfile:/usr/src/testfile

Я запускаю контейнер без проблем :

docker-compose up
docker ps
docker exec -ti 67357564 sh
ls /usr/src
# return
/usr/src/testfile

Я также проверил, что контейнер работает с нужным пользователем на хосте:

ps aux | grep sleep
# return
user      18916  1.2  0.0   1560   248 ?        Ss   18:40   0:00 sleep infinity

Когда я пытаюсь установить разрешения на 750, монтирование больше не работает.

chmod -R 750 /var/nfs/test

Я запускаю контейнер

docker-compose up
# return
ERROR: for docker_testnfs_1  Cannot start service testnfs: error while creating mount source path '/var/nfs/test/testfile': mkdir /var/nfs/test/testfile: permission denied

ERROR: for testnfs  Cannot start service testnfs: error while creating mount source path '/var/nfs/test/testfile': mkdir /var/nfs/test/testfile: permission denied
ERROR: Encountered errors while bringing up the project.

Что я делаю не так?

...