У меня проблема с разрешениями папки на томе 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.
Что я делаю не так?