이것은 내 디렉토리 구조 for docker microservices입니다. 내가해야 할 일은 내 호스트 컴퓨터에있는 lib 폴더의 특정 파일을 컨테이너에 공유하는 것입니다. 이들은 containers.This 모두에서 응용 프로그램을 실행하는 데 필요한 라이브러리 파일여러 개의 도커 컨테이너간에 호스트 디렉토리를 공유하는 방법은 무엇입니까?
FROM alpine:3.3
RUN apk add --update nodejs
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . /usr/src/app
RUN npm install
EXPOSE 3000
WORKDIR /usr/src/app
CMD node index.js
내가이 명령을 사용하여 고정 표시기 이미지를 구축 컨테이너 propinfo 측정기 중 하나 안에 내 고정 표시기 파일 중 하나의 내용이되어 있습니다 docker build -t nodeapp/premcal .
빌드 프로세스가 성공적입니다. 그리고 내가 그것을 bin 폴더가 I이 오류
module.js:328
throw err;
^
Error: Cannot find module '/usr/src/app/index.js'
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
docker run -v $PWD/lib:/usr/src/app -p 3010:3000 -i nodeapp/premcal
bin
마운트/매핑이 명령을 사용하여
호스트는 물리적 인 우분투 시스템입니다.
누구든지이 문제를 해결할 수있는 방법을 알려주십시오. 내가 가지고있는 것은 node.js와 docker 환경에 2 시간의 경험을 쌓은 것입니다. 감사합니다.
당신이 실행하려는 excatly 자바 스크립트 파일을 어떤 목적이 명확 해주십시오. 이미지의'/ usr/src/app' 폴더를 그 디렉토리에 마운트 한 내용으로 덮어 쓰는 것 같습니다. 'index.js'는 어디에서 왔습니까? –