js 파일의 축소 버전을 사용하여 프로덕션 도커 컨테이너를 빌드하려고합니다.docker-compose 빌드 프로세스 중에 webpack 빌드를 실행하십시오.
내 Dockerfile
에 npm 패키지를 설치 한 후 webpack 컴파일을 작성하려고합니다.
RUN npm install -g n # upgrading the npm version
RUN n stable
ADD ./webpack/package.json /package.json
RUN npm install --production
RUN npm run build-production # <<< Fails here
고정 표시기 빌드 프로세스는 (NODE_PATH
가 설정)가 설치 패키지를 찾을 수 없다는 불평 NPM과 마지막 명령 RUN npm run build-production
동안 실패합니다.
그러나 내 ENTRYPOINT
스크립트에 npm run build-production
호출을 추가하면 올바르게 작동하고 예상대로 모든 것을 컴파일합니다. 그러나, 그것은 webpack을 실행하여 컨테이너를 시작하는 모든 것을 구현하는데, 이는 바람직하지 않습니다.
마지막 도커 빌드 단계에서 이전 단계에서 설치된 패키지를 찾을 수없는 이유는 무엇입니까? 하지만 엔트리 포인트 스크립트를 통해 왜 작동합니까?
Dockerfile의 도커 빌드에 webpack 빌드를 추가하는 가장 좋은 방법은 무엇입니까?
정확한 오류 메시지를 포함시킬 수 있습니까? 'build-production'에 대한 의존성 중 하나가'devDependencies' 아래 나열되어 있기 때문에 가능하지 않을 수 있습니까? '--production' 플래그 때문에 설치되지 않았습니다? 런타임시 볼륨을 사용합니까? – dnephin
@dnephin 의견을 보내 주셔서 감사합니다. 모든 패키지는'--production' 의존성에 포함됩니다. 나는 또한'--production'없이 같은 에러를 얻는다. 예, 볼륨을 사용하고 있습니다. 빌드하는 동안 액세스 할 수 있습니까? – neurix
아니요, 빌드하는 동안 볼륨에 액세스 할 수 없습니다. – dnephin