2017-04-01 7 views
0

내 우분투 컴퓨터에서 도커 (1.12.3)를 사용하고 있습니다. 그 출력을 Windows 네트워크 경로 (\\ my_win_path \ c)로 보낼 python 스크립트를 실행 중입니다. 파이썬 스크립트를 실행할 수 있습니다. 다른 사람이 두 번째 부분을 도와 줄 수 있습니까? 즉, 출력 (텍스트 파일)을 네트워크 위치로 보냅니다.도커에서 네트워크 위치를 마운트하는 방법

이 네트워크 위치는 액세스가 제한되어 있으며 (소수의 사람/사람 만 액세스 할 수 있음) 어쨌든 내가 만들 이미지는 다른 많은 사람들이 사용하기 때문에 호스트 컴퓨터에 의존하지 않습니다 그들은 이미지를 실행하기 위해 다른 기계를 사용할 것입니까?

답변

0

먼저 Ubuntu 컴퓨터에 네트워크 경로를 마운트하십시오.

-v 매개 변수를 docker run 명령과 함께 추가하여 Docker 컨테이너에 마운트 (네트워크 경로 디렉토리 탑재)합니다. 예를 들어 네트워크 드라이브를 우분투 컴퓨터의 /mnt에 마운트 한 경우입니다.

docker run --privileged -v /mnt:/opt <rest/of/the/parameters> 

이제 출력 파일을 컨테이너 내부의/opt로 리디렉션하십시오.

+0

Windows 네트워크 드라이브 장착에 대해 알아 보려면이 링크를 참조하십시오. [mounting-windows-network-shares-in-linux] (https://martin.hoppenheit.info/blog/2014/mounting-windows-network-shares) -in-linux /) – shahin

+0

필요하지 않다면'--privileged'를 사용하지 마십시오. 이 옵션을 사용하면 컨테이너가 제공하는 모든 보안을 사용할 수 없게되고 컨테이너 내부의 프로세스가 중단되어 호스트를 제어 할 수 있습니다. – thaJeztah

+0

감사합니다. Shahin and Jeztah. 당신이 제안한 것을 수행함으로써 컨테이너에 마운트 된 위치를 얻을 수 있지만 호스트 시스템에 대한 종속성을 생성합니다. 이 이미지를 만들고 밀어 넣고 다른 사람이 이미지를 가져 와서 실행하면 컴퓨터에 탑재되지 않아서 컴퓨터에서 실행되지 않습니다. 이 종속성이 사라지는 방법이 있는지 알고 싶었습니다. – Raji