2017-12-06 19 views
0

내 머리를 두드리는 소리가 났으며 어떤 도움을 주셔서 감사합니다! 나는 검색을했고 몇 가지 잠재적 인 해결책을 찾았지만 모두 나를위한 것이 아니 었습니다.Windows 네트워크에 연결 Docker Container 내의 NodeJS에서 드라이브로 연결

나는 Windows에서 개발 된 nodejs 응용 프로그램을 가지고 있으며 이제는 노드 : 최신 이미지를 사용하여 도커 컨테이너에서 실행 중입니다. 응용 프로그램은 읽기/쓰기를 수행하기 위해 공유 된 Windows 네트워크 드라이브에 연결해야하지만 응용 프로그램이 도킹 장치 컨테이너에서 실행될 때 작동하지 않는 것 같습니다 (도커 외부의 Windows 컴퓨터에서 실행될 때 제대로 작동 함) .

네트워크 드라이브 공유 폴더는 다음과 유사합니다. 모든 사람에게 공유 :

\\ MYSERVER의 \ 테스트

Nodejs 코드 (꽤하지만 당신에게 어떻게 접근하고 파일의 아이디어 제공) : nodejs에서 실행할 때이 잘 작동

let fileLocation = "\\myserver\test\file.pdf" 
let readStream = fs.createReadStream(fileLocation) 

// When the stream is done being read, end the response 
readStream.on('close',() => 
{ 
    // End response 
    response.status('200').end() 

    // Remove the file 
    fs.unlinkSync(fileLocation) 
}) 

// Stream chunks to response 
readStream.pipe(response) 

을 Windows에서,하지만 계속 "ENOENT : no such file or directory"오류가 nodejs 도커 컨테이너 내부에서 실행될 때 계속 발생합니다. 이것이 노드 이미지가 기반으로하는 Linux OS 또는 도커 권한/권한 문제인지 확실하지 않습니다. 파일이 존재합니다.

이 명령은 내가

docker run --rm -it -p 8080:8080 myapplication:latest 

새로운 고정 표시기 할 수있는 용기

를 실행하고있을 때 테스트하는 데 사용하고 있지만 어떤 도움에 감사드립니다!

답변

0

docker run -v (documentation 참조)을 사용하여 볼륨 마운트를 시도하십시오.

Windows 네트워크 공유 드라이브에서 작동하길 기대합니다.

+1

응답 해 주셔서 감사합니다. 이것이 어제 일을 끝낸 것입니다. 볼륨 마운트 및 그 방법에 액세스. 추가 단계이지만 작동합니다. 감사! – Potentiator