3
루트가 아닌 사용자로 명명 된 볼륨을 마운트하는 방법이 있습니까? 각 Dockerfile에서 chown
을 실행하지 않으려 고하지만 이미지에 빌드로 작성된 이슈를 쓸 수 있도록 root가 아닌 사용자가 쓸 수있는 마운트가 필요합니다.Docker에서 "named volume"을 비 루트로 마운트
이것은 내가 ' 시도 m은
docker run --rm -it -v /home/bob/dev/:/src/dev -v builds:/mnt/build --name build hilikus/build /bin/bash
하지만 두 번째에 내가
[[email protected] ~]$ ll /mnt
total 4
drwxr-xr-x 2 root root 4096 Sep 18 19:29 build
을 얻을 마운트
는 마운트 (
/src/dev/
)는
사용자가 소유하지 루트 내가 필요한 것을 다른주는 나의 단계; 그러나, 나는 명명 된 볼륨과 동일한 작업을 수행 할 수 없었습니다.
매우 이상한,하지만 난이 이 추가 지시 사항 인'VOLUME/data'는 여러분이 보여 주듯이'docker run'을 할 때 모든 것이'root' 소유권으로 되돌아갑니다 (또 다른 차이점은 시작시 볼륨이 비어 있다는 것입니다. 그래서 볼륨 폴더 만 변경합니다 소유권. – Huygens
나는 우리가 여기서 말한 것처럼 "경적으로 황소를 데려 갔다!"Dockerfile에있는 문서를 간과했다. Dockerfile 내에서 볼륨 변경 : 빌드 단계가 볼륨의 데이터를 변경 한 후에 선언했다, 그 차 nges는 버려 질 것이다. "나는 단지 그것을 가지고 있었다! VOLUME 명령은 폴더를 만들고 사용 권한을 설정하기 전에 수행되었습니다. 그것은 단순히 폐기되었습니다. – Huygens
@Huygens Dockerfile과 볼륨을 섞지 않는 것이 가장 좋습니다. 자세한 설명은 내 블로그 게시물을 참조하십시오.하지만 이미 큰 문제 중 하나에 휩싸여 있습니다. https://boxboat.com/2017/01/23/volumes-and-dockerfiles-dont-mix/ – BMitch