2017-02-13 1 views
1

'tomcat : 7.0.75-jre8-alpine'기본 이미지에서 작업하고 있으며 구성 파일과 함께 웹 응용 프로그램을 배포하려고합니다.Docker가 동일한 폴더에 파일을 복사하고 마운트합니다.

...... 
COPY <my-app-configurations> /org/app/data 
COPY <my-app-configurations> /org/app/conf 
...... 
CMD ["catalina.sh", "run"] 

그리고 위의 이미지에서 컨테이너 create 명령 아래 사용하고 있습니다 : 아래는 내가 Dockerfile에서 무엇을하고 있는지

$ docker run -p 8080:8080 -v "/c/Users/jaffy/app:/org/app" myapp-image 

'/ C/사용자/jaffy/응용 프로그램'폴더가 처음입니다 비어 있고 그 안에 '/ org/app'의 모든 내용을 가져오고 동기화 상태를 유지합니다.

처음에는 모든 구성이 '/ org/app'폴더에 복사되지만 '/ c/Users/jaffy/app'가 마운트되면 '/ org/app'가 정리/비우기됩니다.

호스트 컴퓨터 폴더가 처음에는 비어있는 상태이지만 이후에는 컨테이너의 '/ org/app'폴더 및 해당 하위 디렉터리의 정확한 상태를 반영하는이 문제를 어떻게 해결할 수 있습니까?

미리 감사드립니다.

+0

나는 빌드에서 뭔가를 장착 할 수 있습니다 생각하지 않는다 시각. 특별한 용도인가요? 빌드 컨텍스트로 사용하는 폴더에 앱 및 conf 파일을 넣을 수 있습니다. – Francesco

답변

0

병합하지 않는 폴더가 명령을 대체하기 때문에 해당 폴더에 볼륨을 마운트/공유 할 때 컨테이너의 폴더 내용을 유지할 방법이 없습니다.

당신이 폴더의 모든 파일을 대체 할 필요가없는 경우 그냥 필요한 파일을 탑재 할 수는 같이 변경합니다 :

 
$ docker run -p 8080:8080 -v "/c/Users/jaffy/app/web.xml:/org/app/web.xml" my-app-image 
관련 문제