내부 테스트 환경에서 우리는 vSphere 기반 서버에서 CentOS VM을 프로비저닝합니다. 이미지는 LDAP를 통한 인증을 지원하는 패키지 및 관련 구성의 vanilla 7.1입니다. Docker 1.13.1을 xfs 파일 시스템에 OverlayFS 드라이버와 함께 설치했습니다.Docker 호스트 마운트 볼륨 사용 권한
mkdir data
echo "hello from host" > data/host-msg.txt
docker run -ti --rm -v $(pwd)/data:/data testimage bash
컨테이너 내부 :
echo "hello from container" > /data/container-msg.txt
bash: /data/container-msg.txt: Permission denied
용기 내부의 디렉토리 내용을 목록 :
drwxr-xr-x 2 12345 13000 25 Feb 12 21:36 data
drwxr-xr-x 5 root root 360 Feb 12 21:36 dev
drwxr-xr-x 1 root root 62 Feb 12 21:36 etc
data
디렉토리 쇼 호스트에
FROM centos:7
RUN useradd dockeruser
USER dockeruser
VOLUME /data
username/groupname이 아닌 uid/gid 형식의 소유권.
이 동작을 설명하는 많은 기사와 질문을 읽었으며 variousstrategies ~ workaround입니다.
그러나. Fedora 25 개발 시스템에서이 문제는 발생하지 않습니다. 위의 절차를 수행하고 호스트 마운트/데이터 마운트에 쓸 수 있으며 디렉토리 목록에 사용자 이름/그룹 이름이 표시됩니다. , 아니이 UID/GID 매핑, 사용자 네임 스페이스로 장난 -
/
drwxrwxr-x 2 dockeruser dockeruser 4096 Feb 12 04:36 data
drwxr-xr-x 5 root root 360 Feb 12 22:00 dev
drwxr-xr-x 1 root root 4096 Feb 12 22:00 etc
/data
-rw-rw-r-- 1 dockeruser dockeruser 21 Feb 12 22:04 container-msg.txt
내가 libvirt를 통해 내 dev에 시스템에 CentOS는 7.1 VM을 서서 다시 같은 결과를 얻었다 실험실 구성에 최대한 유사 모든 것을 만들려면 아무것도. 상자에 넣은 상태에서 Just Worked 컨테이너 내부에서 호스트에 볼륨을 마운트합니다.
이 동작을 어떻게 설명 할 수 있습니까? 실험실 VM의 LDAP가 파일 시스템 수준에서 권한 문제를 발생 시키는가? 이 문제를 해결하고 문제를 해결하기 위해 운영 팀에 조사하거나 일시적으로 사용 중지하도록 요청할 수있는 구체적인 내용이 있습니까?
호스트 마운트 볼륨의 사용 권한 문제가 깨끗한 CentOS 또는 Fedora Workstation에서 나에게 전혀 문제가되지 않는다면 Docker에서 계속 문제가되는 이유는 무엇입니까? 커뮤니티? 이 설정에는 다른 모든 사람들이 사용하는 것과 근본적으로 다른 구성이 있습니까 (팀의 랩 VM 포함)?
해결책을 찾았습니까? – Xplouder