도커 컨테이너에서 nfs 공유를 마운트하는 방법은 무엇입니까?

도커 컨테이너에서 nfs 공유를 마운트하는 방법은 무엇입니까?

서버의 공유를 볼 수 있습니다.

[root@sandbox /]# showmount -e 192.168.0.111
Export list for 192.168.0.111:
/RAIDPOOL02/vers     *
/RAIDPOOL02/prod     *
/RAIDPOOL02/pipeline *

마운트하려고 하면 다음과 같은 결과가 나타납니다.

[root@sandbox /]# mkdir -p /192.168.0.111/pipeline
[root@sandbox /]# mount --verbose --options=nolock,exec,soft,intr,uid=500,rsize=65536,wsize=65536 192.168.0.111:/pipeline /192.168.0.111/pipeline

mount.nfs: timeout set for Wed May  4 08:16:49 2016
mount.nfs: trying text-based options 'nolock,soft,intr,uid=500,rsize=65536,wsize=65536,vers=4,addr=192.168.0.111,clientaddr=172.20.0.3'
mount.nfs: mount(2): Operation not permitted
mount.nfs: trying text-based options 'nolock,soft,intr,uid=500,rsize=65536,wsize=65536,addr=192.168.0.111'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.0.111 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.0.111 prog 100005 vers 3 prot UDP port 20048
mount.nfs: mount(2): Operation not permitted
mount.nfs: Operation not permitted

Dockerfile에 다음 포트를 노출합니다.

EXPOSE 2049
EXPOSE 20048

그리고 서버의 포트 2049를 성공적으로 nmap할 수 있습니다.

[root@sandbox /]# nmap -p 2049 192.168.0.111

Starting Nmap 6.40 ( http://nmap.org ) at 2016-05-04 08:21 UTC
Nmap scan report for 192.168.0.111
Host is up (0.00061s latency).
PORT     STATE SERVICE
2049/tcp open  nfs

"작업이 허용되지 않습니다"라는 메시지가 나타나는 이유는 무엇입니까?

답변1

권한 모드에서 컨테이너를 실행해야 할 수도 있습니다.

docker run --privileged=true

docker를 17.06으로 업그레이드할 수 있으면 추가 기능 없이 NFS 공유를 직접 탑재할 수 있습니다.

docker run --mount 'type=volume,src=src_name,volume-driver=local,dst=/mnt,volume-opt=type=nfs,volume-opt=device=:/nfs-share,"volume-opt=o=nfs-server,vers=4,hard,timeo=600,rsize=1048576,wsize=1048576,retrans=2"' -d -it --name mycontainer ubuntu

여기 토론에서 힌트를 얻었습니다. https://github.com/moby/moby/issues/28809

답변2

몇 가지 누락된 부분이 보입니다. NFS에는 포트 111도 필요합니다.

"docker run" 문을 제외했으므로 포트 111에 -p 스위치가 없다고 가정합니다. 포트를 리디렉션하지 않는 경우 "docker run" 문의 포트 섹션은 "- p 111:111 -p 2049:2049 -p 20048:20048"(따옴표 제외).

관련 정보