2016-07-10 10 views
1

내 호스트에서 Docker 컨테이너로 디렉토리를 마운트하려고하는데 컨테이너 내부에서 일부 수정을 원합니다. 그러나 마운트 된 지점의 내용을 수정하면 변경 내용이 호스트에 반영됩니다. 예를 들어Docker and Volumes nocopy

: 나는/응용 프로그램

$ docker exec -ti webserver01 'touch /app/test.txt' 

파일 TEST.TXT가 내 호스트에서 생성과 컨테이너 내부 컨테이너 내부의 변화를 만들어

$ docker run -d --name webserver01 -v /home/guest/app:/app 

후 (아이디어

나는 nocopy 플래그를 사용하려고 시도했지만이 오류가 있습니다.

도움을
$ docker run -d --name webserver01 -v /home/guest/app:/app:nocopy 
docker: Error response from daemon: Invalid bind mount spec "/home/guest/app:/app:nocopy": invalid mode: nocopy. 

도커 버전은

$ docker --version 
Docker version 1.11.1, build 5604cbe/1.11.1 

감사합니다!

답변

2

파일을 숨길 수있는 방법이있을 수 있지만 컨테이너의 디렉토리가 복사되는 파일이 아닌 호스트에있는 디렉토리의 마운트이기 때문에 Docker 볼륨에서 설명하는 것을 사용할 수 없습니다.

nocopy 수정자는 볼륨을 만들 때 데이터가 이미 컨테이너 경로에 존재할 때를위한 것으로, 볼륨을 만들 때 데이터를 복사할지 여부를 지정할 수 있습니다.

생성하려는 파일이 공유 볼륨에 없도록 볼륨 구조를 디자인해야 할 수도 있습니다.

+0

Dockerfile에서 ADD 명령을 사용하여 파일을 복사하는 다른 방법을 시도하지만 파일이 Dockerfile과 다른 위치에 있으며 Docker가 이것을 허용하지 않습니다. – mrbit01