2017-12-19 20 views
1

이것은 두 부분으로 나뉜 질문입니다.도커 컨테이너 - 창에서 파일 사용

1) Windows에서 C 드라이브 이외의 드라이브를 공유 할 수 있습니까? 인터넷 서핑을하는 동안 기본적으로 C 드라이브 만 고정대 컨테이너에 마운트 할 수 있음을 알았습니다. (C 드라이브의 사용자 폴더)

2) 이제 기본 구성 부분으로 이동합니다. 설정 파일을 사용하고있는 낙타 프로젝트를 진행하고 있습니다. 이 구성 파일에서 Servicemix 키 저장소 파일에 두 개의 매개 변수를 사용하고 있습니다. 이전에는 키 저장소가 경로 D:\sandboxes\apache-servicemix-7.0.0.M3\apache-servicemix-7.0.0.M3\etc\keystores에 있습니다.

나는이 경로를 제공하는 시도하고 오류가 발생 -

파일 내가 C:\Users에 키 스토어 폴더를 복사 한 후 경로 C:\Users\keystores을하는 듯했으나 오류가 동일하게 유지

를 찾을 수 없습니다. docker run 명령을 실행하는 동안

지금, 나는 이미 내 낙타 프로젝트는 볼륨 매핑하고 - 그래서 docker run -v //C/Users/camelproject:/app ...

를, 그것은 -v 옵션을 사용하여 두 개의 드라이브에서 다른 폴더를 마운트 할 수 있습니까? 또한 프로젝트에서이 키 스토어 파일을 사용하려면 어떻게해야합니까?

편집 1-

좋아, 나는 다음과 같은 일 한 -

  • C 드라이브에 내 낙타 프로젝트에 키 스토어 폴더를 복사합니다. 경로는 지금 -
  • <property name="keystore" value="${keyStore}" /> 내가 docker run -v //C/Users/camelproject:/app -v //C/Users/camelproject/src/main/resources:/app/config ...으로 다음 설정 파일의 폴더를 마운트 양자 택일 모두 준 - C:/Users/camelproject/src/main/resources/keystores
  • keyStore=C:/Users/camelproject/src/main/resources/keystores/client.ks
  • camelcontext.xml 내 나는이 파일을 사용하고 같은 설정 파일에이 경로를 사용 , Windows 및 컨테이너 경로를 값으로 사용했지만 두 경우 모두 동일한 오류가 발생했습니다.

기본적으로 파일을 찾아야하지만 오류가 발생합니다.

+0

'-v'는 드라이브가 아닌 폴더를 마운트합니다.확실한 보안 및 격리를 위해 컨테이너가 드라이브에 액세스하지 못하도록 * 원하지 않습니다. 모든 폴더는 기본적으로 컨테이너 내부의 C : 아래에 표시 될 수 있습니다. 결국, 추가 드라이브를 사용하려면이를 정의해야합니다. K : 드라이브의 폴더를 컨테이너의 C : 드라이브에있는 폴더에 매핑하기 위해'-vk :/data/: c :/data /'라고 쓰지 못하게하지 마십시오 –

+0

예 D 드라이브의 폴더를 의미하고 편집했습니다 적절한 질문. – HardikT

+0

그러면 호스트의 폴더는 어디에 있습니까? 왜 그것을 내부적으로'C : \ keystores'에 매핑하고'D : \ sandboxes \ ... '대신에'C : \ keystores'를 사용합니까? 또는 컨테이너를위한 별도의 폴더를 만들고 그것을'C : \ keystores'에 매핑 할 수 있습니까? –

답변

0

그래서 두 개의 드라이브를 -v 옵션을 사용하여 마운트 할 수 있습니까?

아니요 다른 디렉토리에는 여러 개의 -v 옵션을 사용할 필요가 없습니다.

Windows 볼륨 탑재 Docker에는 몇 가지 문제가 있지만 경로에 "-"옵션이 허용되지 않습니다. (예 : C :/camel-project)

항상/슬래시를 사용하지 마십시오.

더 많은 관련 토론이 여기서 수행되었습니다. https://forums.docker.com/t/volume-mounts-in-windows-does-not-work/10693/7