2016-09-14 4 views
0

docker-compose를 사용하여이 dockerfile을 빌드하고 있습니다. 로컬에서 모듈을 복사하는 것이 아니라 docker에서 기본 모듈을 빌드해야합니다. 이 단지 내가 그들에게이 실행을 삭제하지만 node_modules 디렉토리가 없으므로 즉시 내 로컬 모듈이 내장 된 경우 (NPM 설치) 작동과 오류 제공 : 오류 : '표현'여기Node.js 모듈이 Docker에 내장되어 있지 않습니다.

FROM mhart/alpine-node:6 
MAINTAINER Me 

COPY package.json index.js lib /app/ 

WORKDIR /app 

RUN apk add --no-cache make gcc g++ python && \ 
    addgroup -S app && adduser -S -g app app && \ 
    npm install && \ 
    npm cache clean && \ 
    apk del make gcc g++ python 

USER app 

및 모듈을 찾을 수 없습니다를

.dockerignore 
.eslintignore 
.eslintrc.js 
Dockerfile 
docker-compose.yml 
index.js 
lib 
npm-debug.log 
package.json 
+0

여러분의 package.json을 추가하면 좀 더 통찰력을 줄 수 있다고 생각합니다. – ppeterka

답변

1

문제는 도커가 호스트의 앱 폴더를 컨테이너에 바인딩하는 방식 때문이었습니다. 내 docker-compose.yml에서 볼륨 섹션의 두 번째 줄이 수정되었습니다.

volumes: 
    - .:/app 
    - /app/node_modules 
관련 문제